您的位置:首页 > Web前端 > HTML

网页里的各种高度和宽度(1) clientHeight、offsetHeight和scrollHeight

2010-01-18 09:36 501 查看
在做页面设计的时候经常遇到要操作页面的各种高度和宽度 , 里面有很多容易混淆的的参数 . 现在参考网上的资料做一次整理 , 希望对不是很清楚的朋友起到一点帮助作用 .
一下内容文字内容引用自 : www.cftea.com , 我对其进行简单编辑 , 配合文字给出了图例 , 希望能更加明了  (由于近期CSDN无法上传图片,故从别处连接图片,可能无法显示,有个麻烦的方法,就是右击查看图片属性,直接拷贝图片地址在浏览器里查看,日后CSDN恢复图片上传的话,在修改过来).
clientHeight 、 offsetHeight 和 scrollHeight
在页面没指定 DOCTYPE 的情况下 :
clientHeight 指页面的内容可视区域 , 如图



offsetHeight
IE, Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框



 

FF,NS 认为 offsetHeight 是网页的实际内容 , 可以比 clientHeight 小



 

 

scrollHeight
IE, Opera 认为 scrollHeight 是网页内容的实际高度 , 可以比 clientHeight 小 .



FF,NS 认为 scrollHeight 是网页的高度 , 不过最小值是 clientHeight.



 

同理 clientWidth 、 offsetWidth 和 scrollWidth 的解释与上面相同,只是把高度换成宽度即可。
 
clientHeight 就是透过浏览器看内容的这个区域高度。
NS 、 FF 认为 offsetHeight 和 scrollHeight 都是网页内容高度,只不过当网页内容高度小于等于 clientHeight 时, scrollHeight 的值是 clientHeight ,而 offsetHeight 可以小于 clientHeight 。
IE 、 Opera 认为 offsetHeight 是可视区域  clientHeight 滚动条加边框。 scrollHeight 则是网页内容实际高度。
 
如果指定了 DOCTYPE ,比如: DTD XHTML 1.0 Transitional ,则意义又会不同,在这种情况下这三个值都是同一个值,都表示内容的实际 高度。新版本的浏览器大多支持根据页面指定的 DOCTYPE 来启用不同的解释器。如果要在指定的 DOCTYPE 下按上述意义来应用,怎么办呢?答案是:将 document.body 和 document.documentElement 一起应用,比如: document.documentElement.scrollLeft || document.body.scrollLeft (一般将 document.documentElement 写在前面) .
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  opera 浏览器 xhtml ie
相关文章推荐