在平时的工作中有时候会碰到需要获取元素当前样式的问题,查了一下可以用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方法熟悉-张鑫旭