📜  HTML | DOM getBoundingClientRect() 方法(1)

📅  最后修改于: 2023-12-03 15:15:35.100000             🧑  作者: Mango

HTML | DOM getBoundingClientRect() 方法

getBoundingClientRect()是 Web API 中的一个方法,它用于获取元素相对于视口的大小和位置。

方法语法
element.getBoundingClientRect()

此方法返回一个DOMRect对象,包含了元素的位置,尺寸和其他信息。

方法返回值

返回值是一个DOMRect对象,其中包含以下属性:

  • x:元素相对于视口左侧的距离
  • y:元素相对于视口顶部的距离
  • width:元素的宽度(包括元素的边框和滚动条,如果存在的话)
  • height:元素的高度(包括元素的边框和滚动条,如果存在的话)
  • top:元素顶部边缘相对于视口顶部的距离
  • right:元素右侧边缘相对于视口左侧的距离
  • bottom:元素底部边缘相对于视口顶部的距离
  • left:元素左侧边缘相对于视口左侧的距离
示例
<!DOCTYPE html>
<html>
<head>
  <title>getBoundingClientRect() demo</title>
  <style>
    #box {
      width: 200px;
      height: 200px;
      background-color: red;
    }
  </style>
</head>
<body>
  <div id="box"></div>
  <script>
    var box = document.getElementById("box");
    var rect = box.getBoundingClientRect();

    console.log(rect.x);        // 8
    console.log(rect.y);        // 8
    console.log(rect.width);    // 200
    console.log(rect.height);   // 200
    console.log(rect.top);      // 8
    console.log(rect.right);    // 208
    console.log(rect.bottom);   // 208
    console.log(rect.left);     // 8
  </script>
</body>
</html>

在上面的示例中,我们创建了一个200x200px的红色div,并使用getBoundingClientRect()方法获取该元素的位置和大小信息。

注意事项
  • getBoundingClientRect()方法返回的是一个矩形的信息,即使该元素并非矩形,也会返回包含其外接矩形的信息。
  • 使用该方法时,要注意浏览器兼容性问题。在某些老版本浏览器中可能不支持该方法,或者返回值与标准不一致,需进行兼容性处理。