width、clientWidth、offsetWidth、scrollWidth、availWidth

width 用于样式表;带单位
.style.width无法返回值

offsetWidth 元素内容实际高度 数字 包括滚动条等边线
.offsetWidth = width+padding+border;

clientWidth 元素内容可视区域的宽度 数字 不包括滚动条等边线
.offsetWidth = width+padding;

srcollWidth
chrome 元素正文全文实际宽度
firefox 元素正文实际宽度+滚动条+border

availWidth 元素无这属性; 窗口对象window有,表示屏幕可用宽度

scrollTop 网页被卷去的高度

clientHeight、offsetHeight 和 scrollHeight 的解释与上面相同,只是把高度换成宽度即可。

网页可见区域宽:document.body.clientWidth (width+paddding)
网页可见区域高:document.body.clientHeight
网页可见区域宽:document.body.offsetWidth (包括边线border的宽,)
网页可见区域高:document.body.offsetHeight (包括边线的宽)
网页正文全文宽:document.body.scrollWidth (包括margin不包括标签页的滚动条)
网页正文全文高:document.body.scrollHeight
网页被卷去的高:document.body.scrollTop (网页被翻出标签页窗口的高度)
网页被卷去的左:document.body.scrollLeft
网页正文部分上:window.screenTop (距离屏幕顶部的高,firefox不支持这个属性)
网页正文部分左:window.screenLeft
屏幕分辨率的高:window.screen.height (屏幕的高度)
屏幕分辨率的宽:window.screen.width
屏幕可用工作区高度:window.screen.availHeight
屏幕可用工作区宽度:window.screen.availWidth(可使用的屏幕宽度)
document.documentElement.clientWidth (firefox中相当于document.body.clientWidth,chrome中相等于document.body.scrollWidth)

在chrome中
document.body.offsetWidth ==》页面对象宽度(不包括滚动条)
document.documentElement.clientWidth ==》页面对象宽度(不包括滚动条)

clientHeight
四种浏览器都认为是内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度,一般是最后一个工具条以下到状态栏以上的这个区域,与页面内容无关。

offsetHeight
IE、Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框。
NS、FF 认为 offsetHeight 是网页内容实际高度,可以小于 clientHeight。

scrollHeight
IE、Opera 认为 scrollHeight 是网页内容实际高度,可以小于 clientHeight。
NS、FF 认为 scrollHeight 是网页内容高度,不过最小值是 clientHeight。

简单地说
clientHeight 就是透过浏览器看内容的这个区域高度。
NS、FF 认为 offsetHeight 和 scrollHeight 都是网页内容高度,只不过当网页内容高度小于等于 clientHeight 时,scrollHeight 的值是 clientHeight,而 offsetHeight 可以小于 clientHeight。
IE、Opera 认为 offsetHeight 是可视区域 clientHeight 滚动条加边框。scrollHeight 则是网页内容实际高度。

获取窗口高宽:
var w= document.documentElement.offsetWidth;
var h=document.documentElement.offsetHeight;

在IE、FireFox、Opera下都可以使用
document.body.clientWidth
document.body.clientHeight
即可获得,很简单,很方便。
而在公司项目当中:
Opera仍然使用
document.body.clientWidth
document.body.clientHeight
可是IE和FireFox则使用
document.documentElement.clientWidth
document.documentElement.clientHeight
原来是W3C的标准在作怪啊
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>

如果在页面中添加这行标记的话

在IE中:
注:在IE中“可见区域”基本不认可body,而必需使用documentElement!!!!
document.body.clientWidth ==> BODY对象宽度
document.body.clientHeight ==> BODY对象高度
document.documentElement.clientWidth ==> 可见区域宽度
document.documentElement.clientHeight ==> 可见区域高度

在Opera中:
document.body.clientWidth ==> 可见区域宽度
document.body.clientHeight ==> 可见区域高度
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)
document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值