第一个CSS变量:currentColor

王朝学院·作者佚名  2016-05-24
窄屏简体版  字體: 小  |  中  |  大  |  超大  

第一个CSS变量:currentColor一、基本介绍CSS变量正慢慢地从最初的草案到浏览器实现。但规范中有个已经存在多年的变量:currentColor。这个CSS特性具有良好的浏览器支持和一些实际的应用,本篇文章,我们来学习和了解它。 引用MDN中的描述:

The currentColor keyWord rePResents the calculated value of the element's color property. It allows to make the color properties inherited by properties or child's element properties that do not inherit it by default. It can also be used on properties that inherit the calculated value of the element's color property and will be equivalent to the inherit keyword on these elements, if any.我们知道如果你不指定border-color的值,它会默认填充color的值:

<style type="text/css">.parent{ width: 100px;height: 100px; color: red;border: 1px solid;box-shadow: 5px 5px 5px;text-shadow: 3px 3px 3px;}</style><div class="parent">没有设置边框颜色</div>

这是一个相当巧妙的技巧:如果你改变了文本的颜色,边框颜色会自动跟着改变。这个技巧同样适用于outline,box-shadow,text-shadow等。

二、部分实例<style type="text/css">.parent{ width: 100px;height: 100px; color: #333;}.son {border: 1px solid #333;box-shadow: 2px 2px 2px #333;}</style><div class="parent"><div class="son">没有设置边框颜色</div></div>

下面我们来使用currentColor修改上例:

<style type="text/css">.parent{ width: 100px;height: 100px; color: #333;}.son {border: 1px solid currentColor;box-shadow: 5px 5px 5px currentColor;text-shadow: 3px 3px 3px currentColor;}</style><div class="parent"><div class="son">没有设置边框颜色</div></div>

当然,你也可以适用currentColor在所有你所期望的地方,像gradients、SVG、伪元素,例如:使inline svg sprites 显示像icon fonts,像下面这样:

svg {fill: currentColor;}

此时每个svg元素将被渲染为父元素的文本颜色,请戳view Demo

三、SupportIE9+及现代浏览器皆支持。

感谢您的阅读,文中不妥之处还望批评指正。

转载声明:

本文标题:第一个CSS变量:currentColor

转载请注明转自Benjamin-专注前端开发和用户体验

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航