网页元素位置计算

网页元素位置计算

1. window对象

  • window.innerHeight 返回窗口的文档显示区的宽高

    window.innerHeight;
    window.innerWidth;
    
  • window.outerHeight 属性获取加上工具条与滚动条窗口的宽度与高度

    window.outerHeight;
    window.outerWidth;
    
  • pageXOffset 和 pageYOffset 属性返回文档在窗口左上角水平和垂直方向滚动的像素

    window.pageXOffset;
    window.pageYOffset;
    
    window.scrollX;
    window.scrollY;
    

如果需要更好的跨浏览器兼容性,请使用 window.pageXOffset 和 window.pageYOffset 代替 window.scrollX 和 window.scrollY

2. document.documentElement文档元素

  • document.documentElement.clientHeight 获取网页文档可见区域宽高

    如果不是documentElement元素,则返回该元素自身的宽高

    ele.clientWidth;
    ele.clientHeight;
    
  • document.documentElement.scrollTop 获取文档滚动距离

    document.documentElement.scrollTop和window.pageXOffset的结果是一样的

  • document.documentElement.scrollHeight 获取网页文档全文宽高

    document.body.scrollHeight计算得到的值是一样的

  • ele.offsetTop

    获取元素偏移,该元素对于浏览器的滚动条偏移

3. getBoundingClientRect()

getBoundingClientRect()用于获取某个元素相对于视窗的位置集合,返回值是一个 DOMRect 对象,这个对象是由该元素的 getClientRects() 方法返回的一组位置和矩形的集合

let rect = obj.getBoundingClientRect();

在这里插入图片描述

上面的图片为DOMRect对象的属性,除了width 和 height 以外的属性,都是相对于视图窗口左上角来计算的

width和height为元素的宽高

其余相对于视窗(viewport,可视区域)的位置

在这里插入图片描述

4. offsetWidth offsetHeight

  • offsetWidth:元素在水平方向上占据的大小,无单位

    offsetWidth = border  + 元素内容宽度 + padding
    
  • offsetHeight元素在垂直方向上占据的大小,无单位

    offsetHeight = border  + 元素内容高度 + padding 
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值