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


在做页面设计的时候经常遇到要操作页面的各种高度和宽度 , 里面有很多容易混淆的的参数 . 现在参考网上的资料做一次整理 , 希望对不是很清楚的朋友起到一点帮助作用 .

一下内容文字内容引用自 : 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 写在前面) .

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值