currentBackgroundColor可以成为有效的CSS颜色值关键字吗?

x7rlezfr  于 2023-01-10  发布在  其他
关注(0)|答案(3)|浏览(106)

CSS将currentColor定义为元素的color属性的等价颜色。它类似于CSS变量,但基于每个元素。当currentColor用作任何CSS属性中的颜色值时,它将计算为应用它的元素的color值。
因此,我的问题不是currentBackgroundColor * 是否存在 *--我已经梳理了CSS Color specification,相当有信心它不存在--而是它是否 * 可能 * 存在。
借用currentColor的定义,我假设currentBackgroundColor可以定义为:
“background-color”属性的值。“currentBackgroundColor”关键字的计算值是“background-color”属性的计算值。如果对“background-color”属性本身设置了“currentBackgroundColor”关键字,则将其视为“background-color:继承。
有人能指出我可能没有考虑的任何执行问题吗?

mtb9vblg

mtb9vblg1#

有人能指出我可能没有考虑的任何执行问题吗?
是的。可能存在循环依赖关系:

* {
  background-color: currentColor;
  color: currentBackgroundColor;
}

此外,currentcolor可能很有用,因为文本只有一种颜色,但是背景可以有其他的东西,比如背景图片之类的,这可能会让background-color被设置为默认值transparent,这样currentBackgroundColor就没有多大用处了。

ijxebb2r

ijxebb2r2#

是的,它可以。例如,它可以让你很容易地创建一个部分的文本反转颜色,即你可以交换前景和背景颜色突出的东西。
然而,建议将其作为CSS的一个特性将是与潮流背道而驰的。曾经有一大堆CSS颜色关键字,比如滚动条颜色,标准按钮颜色,按钮上3D阴影的颜色...但它们都在一段时间前从CSS中删除了。
CSS中有很多东西是有用的,但却不在里面。就我个人而言,我对CSS变量更感兴趣。当它们成为主流时,我们不太可能太担心像这样的颜色关键字

yzuktlbb

yzuktlbb3#

当然,在很多情况下currentBackgroundColor会非常有用。

  1. CSS自定义属性(CSS变量),例如--backgroundColor。
    1.使用currentColor来设置background-color。这种方法只适用于不使用前景色的容器(和特定的子元素)。子元素可以继承color并设置background-color:currentColor。

相关问题