StackOverflow上有几个关于offsetWidth/clientWidth/scrollWidth(和-Height)的问题,但没有一个问题可以全面解释这些值是什么.
此外,网上有几个来源,提供令人困惑或不正确的信息.
你能给出一个完整的解释,包括一些视觉提示吗?另外,如何使用这些值来计算滚动条宽度?
HTML:
<a id="postanad" href="postad.php">Make a Post</a>
Run Code Online (Sandbox Code Playgroud)
CSS:
#header #postanad {
position: absolute;
top: 50px;
left: 250px ;
background: #000 url(postad.gif) repeat-x 0% 100%;
font: bold 19px Tahoma, 'trebuchet MS', Sans-serif;
padding: 5px;
}
Run Code Online (Sandbox Code Playgroud)
如何确定div元素所采用的像素/ ems大小,以便我可以使背景图像postad.gif具有相同的宽度?
为了清楚起见我不想动态确定宽度,只是想知道它占用了多少空间,以便我可以在PS中绘制背景图像.
我试图用javascript检索我的函数的div的宽度:
#areaDraw {
margin-top:50px;
width: 50%;
min-height: 100%;
z-index: 1000;
}
Run Code Online (Sandbox Code Playgroud)
和功能:
Event.add(window, "resize", function() {
sketch.resize(document.getElementById("areaDraw").style.width, window.innerHeight);
}).listener();
Run Code Online (Sandbox Code Playgroud)
不知怎的,javscript总是为div的宽度返回0(areaDraw)
所以有什么不对的:
document.getElementById("areaDraw").style.width
Run Code Online (Sandbox Code Playgroud) <div>每次调用JavaScript函数时,我都需要将特定的宽度缩小50px.
我试过了
document.getElementById("Zivot").style.width = "100px";
Run Code Online (Sandbox Code Playgroud)
但这只是设置宽度,而不是添加或减去它.
为什么document.getElementById("mydiv").style.width不返回 mydiv 的宽度?它返回一个空字符串。有些人建议使用 offsetWidth,但我不明白为什么不能从 style.width 获取它。