(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就可以了
此方法适用于通用样式表获取样式值