利用getComputedStyle方法获取元素css的属性值

时间:2021-09-11 20:14:22

在平时的工作中有时候会碰到需要获取元素当前样式的问题,查了一下可以用getComputedStyle这个方法来获取元素计算后的样式(有些我们在css里面没有写的,浏览器默认的样式也可以获得)

getComputedStyle的使用

getComputedStyle接收两个参数,第一个参数是一个元素,第二个参数是一个可选的伪元素。

getComputedStyle方法返回一个包含所有样式的对象,可以通过length方法获取这个对象的长度。

获取元素某个css属性的值

获取元素css属性值的方法有两种,一种是通过getComputedStyle方法返回的对象调用getPropertyValue方法,这个方法接收一个属性名作为参数,返回属性值。(这个方法的参数不必采用驼峰的写法,如想要获取背景颜色,直接传入"background-color"即可)

另外一种方法是直接使用getComputedStyle方法返回的对象的索引。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div{
background: red;
width: 300px;
height: 300px;
}
</style>
</head>
<body>
<div id="box" style="width: 100px"> </div>
</body>
<script>
var box = document.getElementById("box");
var styleList = window.getComputedStyle(box);
console.log(styleList.length); //262 (chrome下)
console.log(styleList.width); //100px
console.log(styleList.height); //300px
console.log(styleList.backgroundColor); //rgb(255, 0, 0)
console.log(styleList.getPropertyValue("background-color")); //rgb(255, 0, 0)
</script>
</html>

参考:https://css-tricks.com/get-value-of-css-rotation-through-javascript/

获取元素CSS值之getComputedStyle方法熟悉-张鑫旭