JavaScript获取html元素的实际宽度和高度

Posted Brook.Zhao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript获取html元素的实际宽度和高度相关的知识,希望对你有一定的参考价值。

一、JavaScript获取html元素宽高

1.宽高都写在样式表里,就比如#div1{width:120px;}。这中情况通过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度。
2.宽和高是写在行内中,比如style="width:120px;",这中情况通过上述2个方法都能拿到宽度。

小结,由于clientWidthoffsetWidth 无视样式写在样式表还是行内,所以我们获取元素宽和高的时候最好用这2个属性。注意如果不是写在行内style中的属性都不能通过i**.style.atrr来获取。
现在的前端制作很少直接把样式写style里了,都是写在样式表里。如果你要获取的样式没有相对应的(就像#div1.style.width对 应#div1.offsetWidth),就只能分别针对不用浏览器来获取样式表的属性了,可以试着搜索“JS 获取样式属性”之类的。

代码:
var o = document.getElementById("view");
var h = o.offsetHeight;  //高度
var w = o.offsetWidth;  //宽度

 

 

二、width、clientWidth、offsetWidth 之间的关系

width是html元素的内容宽度

clientWidth = width + padding
offsetWidth = width + padding + border

以上是关于JavaScript获取html元素的实际宽度和高度的主要内容,如果未能解决你的问题,请参考以下文章

获取组件的实际宽度和高度

jQuery自动获取的高度怎么赋值给元素?

下列()方法获取元素的宽度只包括元素的宽度、内边距和边框

获取元素的实际浮点宽度

怎么用js获取div的当前宽度?

在CSS中如何让父元素的宽度等于其子元素的宽度之和?