盒模型宽高的获取和设置

今天在做一个小项目时遇到的两个需注意的知识点:

1、getElementsByTagName和getElementsByClassName获得的是一个数组,取样式时应注意应取样式所在元素所在的index值。

2、ele.style.width只能获取内嵌样式的宽高,而非内嵌样式的宽高如何获取呢?

1)、window.getComputedStyle(dom)和getPropertyValue配合使用。
缺点,只能获取,不能设置。
使用方法:

a、

window.getComputedStyle(element[,pseudoElt])

返回结果为包含该节点最终样式信息的对象,即各种css规则。
第一个parameter表示要获取计算其风格的Element,第二个parameter表示要匹配的为元素的字符串。可省略或用null。

b、

styleobj.getPropertyValue(style)

返回指定声明的值

举例:

window.getComputedStyle(bloodLine).getPropertyValue('width');
window.getComputedStyle(bloodLine)['width'];//也可以哦

注意:document.getAttribute('style')只能获取行间样式的值哦!

2)、使用element.offsetHeight和element.offsetHeight

//水平的高度
Element.offsetHeight
//垂直高度
Element.offsetWidth

!注意,求得的值包括padding和border

3)、使用element.clientHeight和element.clientHeight

//水平的高度
Element.clientHeight
//垂直高度
Element.clientWidth

!注意,求得的值包括padding

原文地址:https://www.cnblogs.com/MelodysBlog/p/10449234.html