JS_页面大小及元素的位置

 

对这些概念一直很模糊,今天仔细看了一下。

 

一,网页的绝对与相对大小

 

二,网页相对大小

每个元素的clientHeight,clientWidth = 元素内容+padding

 

 

三,网页的绝对大小

document的scrollHeight,scrollWidth,

 

 

这里有一个问题,如果网页内容能在浏览器中完全显示的话,那么绝对大小应该与相对大小一样才对,但是,不同的浏览器中其实有不同的处理,如下:(自己测的)

 

处理结果 = {

   FF : 绝对==相对,
   chrome : 绝对高度只是文档流的高度,而不是浏览器的高度,
   Opera : 相对高度是文档流的高度,而不是浏览器的高度,
   IE6,IE7 : 绝对高度只是文档流的高度,..., 但是计算绝对定位的元素!!(注意,其它的不计算绝对定位元素),
   IE8 : 绝对==相对
}

 

于是改进代码,取其中最大值

 

 

 

四,网页元素的绝对位置

 

offsetTop, offsetLeft,表示该元素的左上角与父容器左上角的距离

 

 

 

注意此函数对表格及iframe不适用

 

五,网页元素的相对位置

绝对位置-滚动条滚动的距离 scrollTop,scrollLeft

 

六,获取元素位置的快速方法

 

那就是使用getBoundingClientRect()方法。它返回一个对象,其中包含了left、right、top、bottom四个属性,分别对应了该元素的左上角和右下角相对于浏览器窗口(viewport)左上角的距离。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值