CSS将currentColor
定义为元素的color
属性的等价颜色。它类似于CSS变量,但基于每个元素。当currentColor
用作任何CSS属性中的颜色值时,它将计算为应用它的元素的color
值。
因此,我的问题不是currentBackgroundColor
* 是否存在 *--我已经梳理了CSS Color specification,相当有信心它不存在--而是它是否 * 可能 * 存在。
借用currentColor
的定义,我假设currentBackgroundColor
可以定义为:
“background-color”属性的值。“currentBackgroundColor”关键字的计算值是“background-color”属性的计算值。如果对“background-color”属性本身设置了“currentBackgroundColor”关键字,则将其视为“background-color:继承。
有人能指出我可能没有考虑的任何执行问题吗?
3条答案
按热度按时间mtb9vblg1#
有人能指出我可能没有考虑的任何执行问题吗?
是的。可能存在循环依赖关系:
此外,
currentcolor
可能很有用,因为文本只有一种颜色,但是背景可以有其他的东西,比如背景图片之类的,这可能会让background-color
被设置为默认值transparent
,这样currentBackgroundColor
就没有多大用处了。ijxebb2r2#
是的,它可以。例如,它可以让你很容易地创建一个部分的文本反转颜色,即你可以交换前景和背景颜色突出的东西。
然而,建议将其作为CSS的一个特性将是与潮流背道而驰的。曾经有一大堆CSS颜色关键字,比如滚动条颜色,标准按钮颜色,按钮上3D阴影的颜色...但它们都在一段时间前从CSS中删除了。
CSS中有很多东西是有用的,但却不在里面。就我个人而言,我对CSS变量更感兴趣。当它们成为主流时,我们不太可能太担心像这样的颜色关键字
yzuktlbb3#
当然,在很多情况下currentBackgroundColor会非常有用。
1.使用currentColor来设置background-color。这种方法只适用于不使用前景色的容器(和特定的子元素)。子元素可以继承color并设置background-color:currentColor。