美文网首页
Js如何获取某Dom元素的宽高

Js如何获取某Dom元素的宽高

作者: 刘哈哈icey | 来源:发表于2020-07-22 16:27 被阅读0次

(1)dom.style.width/height 获取dom元素内联样式中设定的width,height

(2)dom.currentStyle.width/height 获取dom元素渲染后的width,height,只支持IE

(3)window.getComputedStyle(dom).width/height 浏览器渲染后的元素宽,兼容性更好

(4)dom.getBoundingClientRect().width/height/left/top/right/ 计算一个元素的绝对位置(相对于视窗左上角),它能拿到元素的left、top、right、bottom、width、height

Element.getBoundingClientRect() - Web API 接口参考 | MDN


<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <meta http-equiv="X-UA-Compatible" content="ie=edge">

  <title>Document</title>

  <style>

    #dom {

      height: 500px;

      width: 500px;

      background: gray;

    }

  </style>

</head>

<body>

  <div id='dom' style="width: 600px;height:400px">

  </div>

</body>

<script>

  let dom = document.getElementById('dom')

  let inlineWidth = dom.style.width; //内联样式中的width height

  console.log("内联样式中的width:", inlineWidth)

  if (dom.currentStyle) {

    let IEDomWidth = dom.currentStyle.width //这种方法获取的是浏览器渲染以后的元素的宽和高,无论是用何种方式引入的css样式都可以,但只有IE浏览器支持这种写法。

    console.log("浏览器渲染后的元素宽,仅IE支持:", IEDomWidth)

  }

  let DomWidthAfterRender = window.getComputedStyle(dom).width

  console.log("浏览器渲染后的元素宽,兼容性更好:", DomWidthAfterRender)

  let relativeViewWidth = dom.getBoundingClientRect().width

  let relativeViewLeft = dom.getBoundingClientRect().left

  console.log("计算一个元素的绝对位置(相对于视窗左上角),它能拿到元素的left、top、right、bottom、width、height:", relativeViewWidth)

  console.log("计算一个元素的绝对位置(相对于视窗左上角),它能拿到元素的left、top、right、bottom、width、height::", relativeViewLeft)

</script>

</html>

相关文章

  • Js如何获取某Dom元素的宽高

    (1)dom.style.width/height 获取dom元素内联样式中设定的width,height (...

  • uniapp renderjs

    1. uniapp 获取dom元素的宽高 在uniapp 中由于他禁止操作dom,所以不能直接获取dom元素,框架...

  • jQuery事件

    1、jQuery获取DOM元素的属性 1、获取宽高 $('#box').width(); $('#box').he...

  • 获取DOM元素宽高

    oDiv = document.querySelector('#app') 获取行间样式 oDiv.style.w...

  • jquery与js加载顺序区别

    1.通过原生的JS入口函数可以拿到DOM元素,也可以拿到DOM元素的宽高。通过JQuery入口函数可以拿到DOM元...

  • 02-JQuery操作DOM

    一、JS获取DOM元素和JQuery获取DOM元素的区别 JavaScript获取的是DOM对象,而Jquery获...

  • JS获取宽高

    JS获取宽高通过JS获取盒模型对应的宽和高,有以下几种方法: 为了方便书写,以下用dom来表示获取的HTML的节点...

  • js/jq 获取宽高以及left、top值

    1.获取滚动条距离顶部的高度: 2.获取某元素的宽高: 3.获取某元素的left和top:

  • js获取元素宽高

    一、获取元素的行内样式 只是将style属性中的值显示出来 二、获取计算后的样式 注意:如果不设置元素的宽度和高度...

  • js获取元素宽高

    以下面的demo为例,来展示js是如何获取一个元素的宽高的: 1. window.getComputedStyle...

网友评论

      本文标题:Js如何获取某Dom元素的宽高

      本文链接:https://www.haomeiwen.com/subject/wzltlktx.html