currentColor

版本: CSS3

currentColor是 color 属性的值,具体意思是指:currentColor关键字的使用值是 color 属性值的计算值。如果currentColor关键字。被应用在 color 属性自身,则相当于是 color: inherit。

浏览器支持

IE浏览器 火狐浏览器 opera浏览器 chrome浏览器 safari浏览器
IE9以上的浏览器都支持 currentColor

说明:

在CSS1和CSS2中定义了border-color属性的默认值是color属性的值,但却没有为此定义一个相应的关键字。这个问题在SVG中被意识到了,于是在SVG1.0中引入了currentColor关键字。在CSS3中扩展了颜色值包含currentColor关键字,并用于所有接受颜色的属性上。

currentColor是color属性的值,具体意思是指:currentColor关键字的使用值是color属性值的计算值。


  • 如果currentColor关键字被应用在color属性自身,则相当于是color:inherit。
div{border:1px solid;color:red;}

如果你能立马知道上述代码的运行结果,那么就差不多理解currentColor关键字的意思了。上述代码将会让div拥有一个红色的边框,这就解释了border-color属性的默认值是color属性的值;如果将上述代码中的color属性定义删除,那么边框的颜色将取决于父元素的color计算值,因为color拥有继承性;

实例

currentColor是css3中扩展的关键字,具体意思就是使用该关键字的元素的(或其最近父元素)color属性的颜色值。如果currentColor关键字被应用在 color 属性自身,则相当于是 color: inherit。

< body style="color:green">
	<div class="borderDiv">该div有边框</div>
</body>

. borderDiv{border:1px solid currentColor;color:red;}

浏览器上查看该html ,显示如下:

正如我们想的一样。接下来我们再次对它改造:

<div class="parentDiv">
<div class="borderDiv">该div有边框</div>
</div>

. borderDiv{border:1px solid currentColor;color:red;}
. parentDiv{color:green;}

浏览器上查看该html ,显示如下:

这个结果和上面的结果一样,看来border 中的currentColor还是遵循最近原则,应用了本身borderDiv class中的color值。通过这个测试,我们也是验证了只有 color:currentColor ,这个color属性应用currentColor时,等同于 color:inherit ;