CSS伪元素非常强大,它经常被用来创建CSS三角形提示,使用CSS伪元素可以实现一些简单的效果但又不需要增加额外的HTML标签。有一点就是Javascript无法获取到这些CSS属性值,但现在有一种方法可以获取到:
看看下面的CSS代码:
copytext
代码如下 | 复制代码 |
.element:before { content: 'NEW'; color: rgb(255, 0, 0); }.element:before { content: 'NEW'; color: rgb(255, 0, 0); } |
为了获取到.element:before的颜色属性,你可以使用下面的代码:
代码如下 | 复制代码 |
copytext var color = window.getComputedStyle( document.querySelector('.element'), ':before' ).getPropertyValue('color')var color = window.getComputedStyle( document.querySelector('.element'), ':before' ).getPropertyValue('color') |
把伪元素作为第二个参数传到window.getComputedStyle方法中就可以获取到它的CSS属性
了。把这段代码放到你的工具函数集里面去吧。随着伪元素被越来越多的浏览器支持,这个方法会很有用的。
译者注:window.getComputedStyle方法在IE9以下的浏览器不支持,getPropertyValue必须配合getComputedStyle方法一起使用。IE支持CurrentStyle属性,但还是无法获取伪元素的属性。
准确获取指定元素 CSS 属性值的方法。
代码如下 | 复制代码 |