`currentBackgroundColor`可以成为一个有效的,有用的CSS颜色值关键字吗?

Jac*_*ord 1 css css3 css-color

CSS3 定义 currentColor为与元素color属性等效的颜色.它有点像CSS变量,但是基于每个元素.当currentColor在任何CSS属性中用作颜色值时,它会计算color应用它的元素的值.

所以,我的问题不是是否currentBackgroundColor 存在某些东西- 我已经梳理了CSS3颜色规范并相信它没有 - 但它是否可以存在.

借用currentColor定义,我认为currentBackgroundColor将被定义为:

'background-color'属性的值.'currentBackgroundColor'关键字的计算值是'background-color'属性的计算值.如果'backgroundBackgroundColor'关键字设置在'background-color'属性本身上,则将其视为'background-color:inherit'.

任何人都可以指出我可能没有考虑的任何实施问题吗?

Ori*_*iol 5

任何人都可以指出我可能没有考虑的任何实施问题吗?

是.可能存在循环依赖:

* {
  background-color: current-color;
  color: current-background-color;
}
Run Code Online (Sandbox Code Playgroud)

此外,currentcolor因为文本只有一种颜色,所以很有用.但背景通常还有其他东西,如背景图像等.很多人只设置背景图像而不关心后备背景颜色,后者保持透明.然后current-background-color没有多大用处.


Spu*_*ley 4

是的,可以。例如,它可以非常轻松地创建文本的反色部分,即您可以交换前景色和背景色以突出显示某些内容。

然而,建议将此作为 CSS 功能将是逆潮流而行。曾经有一大堆 CSS 颜色关键字,例如滚动条颜色、标准按钮颜色以及按钮上 3D 阴影的颜色……但不久前它们都从 CSS 中删除了。

CSS 中有很多可能有用但实际上没有的东西。就我个人而言,我对 CSS 变量更感兴趣。当它们成为主流时,我们不太可能太担心像这样的颜色关键词