已解决问题
谷歌worke88076用户在2016.04.19提交了关于“火星情报局解析offseth**eight,clienth**eight,scrollh**eight之间的区别”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-08-29T22:25:19。希望大家能够帮助她。详细问题描述及疑问:期待您的答案,谢了,下次有事儿别忘了找我 !
详细问题描述及疑问:期待您的答案,谢了,下次有事儿别忘了找我 !
在
clienth**eight
大部
offseth**eight
在IE6,IE7,IE8以及最新的的FF,Chrome中,在元素上都是offseth**eight=clienth**eight+滚动条+边框。
scrollh**
scr
计算方式:scrol
在浏览器中的区别在于:
IE6、IE7认为scrollh**eight是网页内容
FF、Chrome认为scrollh**eight是网页内容
注:以上都是对于一般元素而方言的,body和documentElemen
FF19
在bo
body
clienth**eight:body.padding+body.height(css设置或内容撑的);
offseth**eight:clienth**eight+body.border;
scrollh**eight==clienth**eight。
documentElement
clienth**eight=window视窗高度-scrollbar.width。
offseth**eight=body.offseth**eight+body.margin。
scrollh**eight=内容的高度(与body的height样式无关),但最小值是documentElement.clienth**eight。
元素上
offseth**eight=padding+border+height。
clienth**eight=padding+height-scrollbar.width。
scrollh**eight>=clienth**eight
从结果分析,FF认为scrollh**eight的最小高度是clienth**eight。
offsetLeft=元素border左上角到window视窗原点的距离或到offsetParent的borderbox顶部的距离。
Chrome
body
clienth**eight=body.padding+body.height(css设置或内容撑大);
offseth**eight=body.clienth**eight+body.border;
scrollh**eight=body.padding+内容的高度(与height样式无关),但最小值是documentElement.clienth**eight。
documentElement
clienth**eight=window视窗高度–滚动条高度。
offseth**eight=body.offseth**eight+body.margin;
scrollh**eight=内容的高度(与body上的height无关),但最小值是documentElement.offseth**eight。
元素上
offseth**eight=padding+border+height。
clienth**eight=padding+height-scrollbar.width。
scrollh**eight>=clienth**eight
Safari5
body
clienth**eight=body.padding+body.height(CSS或内容撑的);
offseth**eight=clienth**eight+border;
scrollh**eight=body.padding+内容的高度(与height样式无关),但最小值是documentElement.clienth**eight。
documentElement
clienth**eight=window窗口大小–滚动条大小
offseth**eight=body.offseth**eight+body.margin
scrollh**eight=内容的高度(与body上的height无关),但最小值是documentElement.offseth**eight。
IE8
在IE8下,滚动条的大小是17个像素。
body
clienth**eight=body.padding+body.height(css设置或内容撑大)
offseth**eight=clienth**eight+body.border
scrollh**eight=内容的高度(与body上的height无关),但最小值是clienth**eight。
documentElement
clienth**eight=窗口大小(除去滚动条后)
offseth**eight=clienth**eight+滚动条大小+body.border
scrollh**eight=内容的高度(与body上的height无关),但最小值是body.offseth**eight+margin。
元素上
offseth**eight=padding+border+height。
clienth**eight=padding+height-scrollbar.width。
scrollh**eight>=clienth**eight
从结果分析,FF认为scrollh**eight的最小高度是clienth**eight。
offsetLeft=元素border左上角到画布原点的距离或到offsetParent的borderbox顶部的距离。
IE7
在IE7中,body上设置的滚动条并不是窗口的滚动条,这个需要注意。
body
clienth**eight=body.padding+height(css设置或内容撑大)–body上的滚动条。
offseth**eight=clienth**eight+滚动条的大小+body.border。
scrollh**eight=内容的高度(与body上的height无关)。
documentElement
clienth**eight=window视窗大小(与滚动条的有无无关)
offseth**eight=clienth**eight。
scrollh**eight=body.offseth**eight+border.margin
元素
offseth**eight=padding+border+height。
clienth**eight=padding+height-scrollbar.width。
scrollh**eight=padding+内容marginbox的高度
从结果分析,IE7认为scrollh**eight可以小于clienth**eight。
offsetLeft=元素borderbox左上角到父容器(不是offsetParent)的borderbox左上角的距离。
IE6
在IE6中,与IE7类似,body上设置的滚动条并不是窗口的滚动条。
body
clienth**eight=body.padding+body.height
offseth**eight=body.clienth**eight+body.border+body上滚动条大小。
scrollh**eight=内容的高度(与body上的height无关)。
documentElement
在IE6中,与IE7类似,虽然body上设置的滚动条并不是窗口的滚动条,但它的clienth**eight和offseth**eight还算与其它浏览器想统一。
clienth**eight=窗口大小(除去窗口滚动条大小后)
offseth**eight=clienth**eight+body.border
scrollh**eight=body.offseth**eight+body.margin
元素
offseth**eight=padding+border+height。
clienth**eight=padding+height-scrollbar.width。
scrollh**eight=padding+内容marginbox的高度
从结果分析,IE6认为scrollh**eight可以小于clienth**eight。
同理
clientWidth、offsetWidth和scrollWidth的解释与上面相同,只是把高度换成宽度即可。