css伪元素非常强大,它经常被用来创建css三角形提示,使用css伪元素可以实现一些简单的效果但又不需要增加额外的html标签。有一点就是javascript无法获取到这些css属性值,但现在有一种方法可以获取到:
看看下面的CSS代码:
.element:before {
content: 'NEW';
color: rgb(255, 0, 0);
}.element:before {
content: 'NEW';
color: rgb(255, 0, 0);
}为了获取到.element:before的颜色属性,你可以使用下面的代码:
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属性,但还是无法获取伪元素的属性。
YDUI Touch专为移动端打造,在技术实现、交互设计上兼容主流移动设备,保证代码轻、性能高;使用 Flexbox 技术,灵活自如地对齐、收缩、扩展元素,轻松搞定移动页面布局;用 rem 实现强大的屏幕适配布局,等比例适配所有屏幕;自定义Javascript组件、Less文件、Less变量,定制一份属于自己的YDUI。
81
立即学习“Java免费学习笔记(深入)”;
准确获取指定元素 CSS 属性值的方法。
<script type="text/javascript">
function getStyle( elem, name )
{
//如果该属性存在于style[]中,则它最近被设置过(且就是当前的)
if (elem.style[name])
{
return elem.style[name];
}
//否则,尝试IE的方式
else if (elem.currentStyle)
{
return elem.currentStyle[name];
}
//或者W3C的方法,如果存在的话
else if (document.defaultView && document.defaultView.getComputedStyle)
{
//它使用传统的"text-Align"风格的规则书写方式,而不是"textAlign"
name = name.replace(/([A-Z])/g,"-$1");
name = name.toLowerCase();
//获取style对象并取得属性的值(如果存在的话)
var s = document.defaultView.getComputedStyle(elem,"");
return s && s.getPropertyValue(name);
//否则,就是在使用其它的浏览器
}
else
{
return null;
}
}
</script>
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号