getBoundingClientRect方法获取元素在页面中的相对位置

获取元素位置可以用 offset 或 getBoundingClientRect,使用 offset 因为兼容性不好,比较麻烦,offset获取位置会形成“回溯”。而 getBoundingClientRect 方法则
兼容性较好,基本所有的浏览器都支持了,且使用起来更容易和简单。

1.使用语法:

element.getBoundingClientRect();

方法中没有任何参数,返回值为对象类型。

 

2.在IE8及以下的浏览器中,返回值对象包含的属性值有:

top::元素上边缘距离文档顶部的距离;

right: 元素右边缘距离文档左边的距离;

bottom:元素下边缘距离文档顶部的距离;

left:元素左边缘距离文档左边的距离;

 

3.在IE9以上、谷歌、火狐等浏览器中,返回值对象包含的属性值有:

top: 元素上边缘距离文档顶部的距离;

right:元素右边缘距离文档左边的距离;

bottom:元素下边缘距离文档顶部的距离;

left:元素左边缘距离文档左边的距离;

width:元素的宽度(包含 padding 和 border)

height:元素的高度(包含 padding 和 border)

 

4.在IE8及以下浏览器没有 width 和 height 属性的解决方法:

在IE8及以下浏览器中,可以通过计算得到元素的宽和高:

如:

var dom = document.querySelector("#demo"),
r = dom.getBoundingClientRect();

var width = r.right - r.left;
var height = r.bottom - r.top;

 转:https://www.cnblogs.com/jofun/p/8945409.html

posted @   rmticocean  阅读(95)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示