样例:
<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>
offsetWidth=border+padding+height;
这里等于: 50+50+200+50+50=400
注意:offsetWidth不能在display:none的div获得正确值,能够用jquery的outerWidth()正确获得
clientWidth=padding+height-滚动栏
这里等于:50+200+50-17=283
注意:jquery的innerWidth()可不把滚动栏计算进去,可得到结果300
scrollWidth=padding+包括内容的全然高度
这里等于:50+402+50=502
定义:获取位于元素顶部边界与元素中当前可见内容的最顶端之间的距离
scrollTop=scrollHeight-clientHeight
=padding+包括内容的全然高度-(padding+height-滚动栏)
=包括内容的全然高度-height-滚动栏
scrollWidth,clientWidth,offsetWidth 三者区别
原文:https://www.cnblogs.com/Hijacku/p/14926717.html