千家信息网

CSS3中的新属性currentColor怎么用

发表于:2025-11-21 作者:千家信息网编辑
千家信息网最后更新 2025年11月21日,小编给大家分享一下CSS3中的新属性currentColor怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!currentColor顾名思意就是"当前颜色",准确讲应该是"当前的
千家信息网最后更新 2025年11月21日CSS3中的新属性currentColor怎么用

小编给大家分享一下CSS3中的新属性currentColor怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

currentColor顾名思意就是"当前颜色",准确讲应该是"当前的文字颜色",例如:

.xxx{border:1pxsolidcurrentColor;}

currentColor表示"当前的标签所继承的文字颜色",换种方式表示就是:currentColor=color的值。

凡事需要使用颜色值的地方,都可以使用currentColor替换,比方说背景色–background-color,渐变色–gradient,盒阴影–box-shadow,SVG的填充色–fill等等。很灵活,很好用!

当然可以使用css实现背景色镂空,可以方便控制图标的颜色。实现的原理是图标形状区域是透明镂空的,而周边是实色的。

css代码:

.icon{

display:inline-block;

width:16px;height:20px;

background-image:url(sprite_icons.png);

background-color:#34538b;/*该颜色控制图标的颜色*/

}

.icon1{background-position:00;}

.icon2{background-position:-20px0;}

.icon3{background-position:-40px0;}

.icon4{background-position:-60px0;}

.link{margin-right:15px;}

html代码:

更改颜色:

返回

刷新

收藏

展开图片

js代码:

vareleInput=document.getElementById("colorInput"),

eleIcons=document.getElementsByTagName("i");

eleInput.onchange=function(){vari=0,l=eleIcons.length;for(;i

eleIcons[i].style.backgroundColor=this.value;

}

};

只需要改变背景图片的color就更改变图片的颜色。IE低版本也支持。

效果地址:http://www.zhangxinxu.com/study/201307/background-color-insert-background-image.html

那么现在使用currentColor来实现这个效果:

.icon{

display:inline-block;

width:16px;height:20px;

background-image:url(../201307/sprite_icons.png);

background-color:currentColor;/*该颜色控制图标的颜色*/

}

于是,我们想要鼠标hover文字链接,其图标颜色要跟着一起变化,只要改变文字颜色就可以了:

.link:hover{color:#333;}/*虽然改变的是文字颜色,但是图标颜色也一起变化了*/

说明:

border和box-shadow默认的颜色就是当前的文字颜色,也就是类似currentColor;

在iOSSafari浏览器下(iOS8)下,currentColor还是有一些bug的,例如伪元素hover时候,background:currentColor的背景色不会跟着变化,怎么办呢?等升级,或者使用border来模拟。

currentColor浏览器兼容情况:

支持的浏览器:谷歌,火狐,QQ浏览器,IE9+

不支持的浏览器:360,IE低版本浏览器




看完了这篇文章,相信你对"CSS3中的新属性currentColor怎么用"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

0