Html 如何获得css中div的宽度:100%-1px

Html 如何获得css中div的宽度:100%-1px,html,width,Html,Width,在CSS中有没有计算宽度的方法?我想做一个宽度比100%宽度小1px的。 是否有width:100%-1px这样的属性?尝试以下JavaScript代码片段: elem = document.getElementById('div'); pElem = elem.parentNode; pPadding = pElem.style.padding || pElem.style.paddingLeft + pElem.style.paddingRight || 0; pBorder = pElem

在CSS中有没有计算宽度的方法?我想做一个宽度比100%宽度小1px的。
是否有
width:100%-1px这样的属性

尝试以下JavaScript代码片段:

elem = document.getElementById('div');
pElem = elem.parentNode;
pPadding = pElem.style.padding || pElem.style.paddingLeft + pElem.style.paddingRight || 0;
pBorder = pElem.style.borderWidth || pElem.style.borderLeftWidth + pElem.style.borderRightWidth || 0;    
elem.style.width = ( pElem.offsetWidth - pPadding - pBorder - 4 ) + "px";

编辑:需要注意的是,在这个脚本中,3=0、4=1、5=2、6=3等等。。。所以3就像开始的数字

这似乎有点不对劲,因为它使div比原来的100%更宽。即使指定
elem.style.width=(pElem.offsetWidth-pPadding-pBorder-0)+“px”
0
相比,它还使div比原来的100%更宽。请参见此处的fiddle:内部div为100%,但在使用
0
甚至原始
1
运行脚本后,它的宽度大于100%。这会不会与边界或者甚至是浏览器有关?我只在最新的Chrome上测试过它。@FrançoisWahl我正在运行Chrome来。。。你是对的。。。需要注意的是,在这个脚本中,3=0,4=1,5=2,6=3,等等。。。所以3就像开始的数字。我真的不知道为什么会发生…:}