clientHeight ,offsetHeight,style.height,scrollHeight的区别与联系

理解网页元素尺寸与高度属性

style.height 包括元素的滚动条,不包括边框

clientHeight 不包括元素的滚动条和边框,只有在没有元素的滚动条的情况下,style.height相等于clientHeight

offsetHeight 包括元素的滚动条和边框,只有在没有元素的滚动条和边框的情况下,offsetHeight==style.height==clientHeight

scrollHeight offsetHeight+scrollTop,只有在没有元素的滚动条和边框和滚动时的情况下,offsetHeight==style.height==clientHeight==,offsetHeight==style.height==scrollHeight

公式是:

style.height=clientHeight+滚动条宽度;

offsetHeight=style.height+borderTop+borderBottom;

scrollHeight=offsetHeight+scrollTop;

同理: clientWidth,offsetWidthstyle.width,scrollWidth

演示时营造不同的环境测试(改变eyejs元素的样式)

1 <div id="eyejs" style="border: solid 10px red;width:100px;height:100px;overflow:scroll;">
2 <div style="height:200px;"></div>
3 </div>
4 <input type="button" onclick="alert(document.getElementById('eyejs').clientHeight)" value="点击clientHeight" />
5 <input type="button" onclick="alert(document.getElementById('eyejs').style.height)" value="点击style.height" />
6 <input type="button" onclick="alert(document.getElementById('eyejs').offsetHeight)" value="点击offsetHeight" />
7 <input type="button" onclick="alert(document.getElementById('eyejs').scrollHeight)" value="点击scrollHeight" />

 

 

转载于:https://www.cnblogs.com/andywenming/p/4510974.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值