DOM元素尺寸offsetWidth,scrollWidth,clientWidth等具体解释

时间:2022-03-16 11:41:25

样例:

<div id="div" style="height: 200px;width: 200px;border:solid 50px red;overflow:auto;padding:50px">
<div id="info" style="height:400px;width:400px;border:solid 1px blue;"></div>
<script>
var div=document.getElementById("div");
var ho=div.offsetHeight;
var hc=div.clientHeight;
console.log(ho,hc);
</script>
</div>

1.offsetWidth

DOM元素尺寸offsetWidth,scrollWidth,clientWidth等具体解释

offsetWidth=border+padding+height;

这里等于: 50+50+200+50+50=400

注意:offsetWidth不能在display:none的div获得正确值,能够用jquery的outerWidth()正确获得

2.clientWidth

DOM元素尺寸offsetWidth,scrollWidth,clientWidth等具体解释

clientWidth=padding+height-滚动栏

这里等于:50+200+50-17=283

注意:jquery的innerWidth()可不把滚动栏计算进去,可得到结果300

3.scrollWidth

DOM元素尺寸offsetWidth,scrollWidth,clientWidth等具体解释

scrollWidth=padding+包括内容的全然高度

这里等于:50+402+50=502

4.scrollTop

定义:获取位于元素顶部边界与元素中当前可见内容的最顶端之间的距离

DOM元素尺寸offsetWidth,scrollWidth,clientWidth等具体解释

scrollTop=scrollHeight-clientHeight

=padding+包括内容的全然高度-(padding+height-滚动栏)

=包括内容的全然高度-height-滚动栏