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元素的样式)
<div id="eyejs" style="border: solid 10px red;width:100px;height:100px;overflow:scroll;">
<div style="height:200px;"></div>
</div>
<input type="button" onclick="alert(document.getElementById(‘eyejs‘).clientHeight)" value="点击clientHeight" />
<input type="button" onclick="alert(document.getElementById(‘eyejs‘).style.height)" value="点击style.height" />
<input type="button" onclick="alert(document.getElementById(‘eyejs‘).offsetHeight)" value="点击offsetHeight" />
<input type="button" onclick="alert(document.getElementById(‘eyejs‘).scrollHeight)" value="点击scrollHeight" />

时间: 2024-10-10 04:23:47

clientHeight ,offsetHeight,style.height,scrollHeight有区别与联系的相关文章

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

style.height 包括元素的滚动条,不包括边框 clientHeight 不包括元素的滚动条和边框,只有在没有元素的滚动条的情况下,style.height相等于clientHeight offsetHeight 包括元素的滚动条和边框,只有在没有元素的滚动条和边框的情况下,offsetHeight==style.height==clientHeight scrollHeight offsetHeight+scrollTop,只有在没有元素的滚动条和边框和滚动时的情况下,offsetHe

style.height、offsetHeight、clientHeight、scrollHeight的区别

style.height 包括元素的滚动条,不包括边框 clientHeight 不包括元素的滚动条和边框 offsetHeight 包括元素的滚动条和边框 scrollHeight offsetHeight+scrollTop 小贴士: 在IE下,创建一个oLi <style> li{/*不设置li的高度*/} </style> <script> var oLi = document.createElement('li'); oLi.innerHTML='我是li的内

浅谈style.height、clientHeight、offsetHeight、scrollHeight

先分别介绍以下,以下资料来自MDN HTMLElement.offsetHeight 是一个只读属性,它返回该元素的像素高度,高度包含该元素的垂直内边距和边框,且是一个整数. Element.clientHeight 是一个只读属性,它返回该元素的像素高度,高度包含该元素的垂直内边距和边框,且是一个整数. Element.scrollHeight 是一个只读属性,是一个元素内容高度的度量,包括由于溢出导致的视图中不可见内容 style.height clientHeight offsetHeig

offsetHeight, clientHeight与scrollHeight的区别

在网上搜了一下,结论非常笼统,讲IE从不讲版本,因此自己做了测试并上传结论.以下结论皆是在标准模式下测试通过的,没有测试quirk模式. clientHeight 大部分浏览器对 clientHeight 都没有什么异议,认为是元素可视区域的高度,也就是说元素或窗口中可以看到内容的这个区域的高度,即然是指可看到内容的区域,滚动条不算在内.但要注意padding是算在内.其计算方式为clientHeight = topPadding + bottomPadding+ height - 水平滚动条高

offsetHeight和clientHeight和scrollHeight的区别

lientHeight 大部分浏览器对 clientHeight 都没有什么异议,都认为是内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度,即然是指可看到内容的区域,滚动条不算在内.但要注意padding是算在内.其计算方式为clientHeight = topPadding + bottomPadding+ height - scrollbar.height. offsetHeight在IE6,IE7,IE8以及最新的的FF, Chrome中,在元素上都是offsetHei

DOM元素中height, clientHeight,offsetHeight等,到底是什么?

<div  style="height:200px;padding:10px;border:1px solid green;"></div> 对于上面的div,它的border的height有多高?答案是200+10*2+1*2=222. 直接上结论:在style或css样式中的 height:200px  指的是内容可视区的高度,不含内边距,不含border,不含外边距,而不是div的高度. 以下结论在 firefox.chrome.IE10+.QQ浏览器中都

offsetTop/offsetHeight scrollTop/scrollHeight 的区别

offsetTop/offsetHeight   scrollTop/scrollHeight  这几个属性困扰了我N久,这次一定要搞定. 假设 obj 为某个 HTML 控件. obj.offsetTop   obj距离上方或上层控件的位置,整型,单位像素. obj.offsetHeight   obj自身的高度,整型,单位像素. offsetTop 可以获得 HTML 元素距离上方或外层元素的位置,style.top 也是可以的,二者的区别是: 一.offsetTop 返回的是数字,而 st

height:100%和height:auto的区别

一直不明白height:100%和height:auto的区别,最近在制作前端页面时都用了height:100%;overflow:hidden; ,可是有些浏览器出现莫名的奇妙的问题,但换成height:auto就好了,百度过这个问题,却一直没有细看. 今天又浮现了同样的问题,百度细看和群里的朋友指点,终于明白其中的道理,记录一下. height:auto,是指根据块内内容自动调节高度.height:100%,是指其相对父块高度而定义的高度,也就是按照离它最近且有定义高度的父层的高度来定义高度

document.documentElement.clientHeight 和 $(window).height() 无法正确获取页面可视区高度

背景: 弹出层插件(自适应) 实现过程中突然发现在获取可视区高度时,无论document.documentElement.clientHeight 还是 $(window).height()都无法正确获取,代码没有问题: 解决方案:通过 cosole.log寻找错误点发现$(window).height()获取不正常并等于$(document).height():网上查找资料是由于没有正确的HTML5文档声明导致的 正确: <!DOCTYPE html> <html> <!-