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

JavaScript020

Js如何获取某Dom元素的宽高,第1张

(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

JQuery获取:

console.log($(window).width())//浏览器当前窗口可视区域宽度

console.log($(window).height())//浏览器当前窗口可视区域高度

console.log($(document).width())//浏览器当前窗口文档对象宽度

console.log($(document).height())//浏览器当前窗口文档的高度

console.log($(document.body).width())//浏览器当前窗口文档body的宽度

console.log($(document.body).height())//浏览器当前窗口文档body的高度

console.log($(document.body).outerWidth(true))//浏览器当前窗口文档body的总宽度 包括border padding margin

console.log($(document.body).outerHeight(true))//浏览器当前窗口文档body的总高度 包括border padding margin

JS获取:

窗口可视区域宽度 : document.documentElement.clientWidth || document.body.clientWidth

窗口可视区域高度 : document.documentElement.clientHeight || document.body.clientHeight

窗口可视区域宽度+边线和滚动条 : document.body.offsetWidth

窗口可视区域高度+边线和滚动条 : document.body.offsetHeight

实际内容的宽度 : document.body.scrollWidth

实际内容的高度 : document.body.scrollHeight

滚动条下拉被卷起来的距离 :document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop

滚动条侧拉被卷起来的距离 :document.body.scrollLeft || document.documentElement.scrollLeft

网页正文部分上 :window.screenTop

网页正文部分左 :window.screenLeft

元素的宽度 :obj.offsetWidth

元素的高度 :obj.offsetHeight

相对于父元素的上位移 :obj.offsetTop(在元素的包含元素不含滚动条的情况下)

相对于父元素的左位移 :obj.offsetLeft(在元素的包含元素不含滚动条的情况下)

如果写在 样式表 里面, 用style.width拿不到宽度, 但是通过 element.offsetWidth 可以获取宽度

写在行内的就可以直接用style.width来获取

需要注意的是宽高在设定padding的时候是不同的:

对于普通元素一般第二个参数设置为null就可以了

此方法适用于通用样式表获取样式值