"* {color: var(——color)}"的目的是什么?

  • 本文关键字:color quot 是什么 var css
  • 更新时间 :
  • 英文 :


我正在挑选一个新的代码库,它将color属性精确地设置在一个地方:

*,
*:after,
*:before {
color: var(--color);
}

和设置--color在其他地方,在链接,跨度,svg,按钮等:

a,
a:link,
a:visited,
a:hover,
a:active {
--color: #1b4adc;
}

这样做的目的是什么?它的行为如何不同于仅仅使用color,也许与重置它总是继承?

* {
color: inherit;
}

使用css变量样式方法和使用inherit属性之间有一个巨大的区别,那就是继承将直接从父元素继承,该元素可以是任何东西,而你只是想保持自定义颜色,例如,在整个应用程序中。

有一个var(--color),你可以有一个颜色,然后应用到你所有的标题,例如,它将保持相同的主题,但inherit将继承任何颜色包含的父元素,这将使你的主题更难保持一致。

注意:当使用color: inherit时,如果父元素没有颜色设置,将选择浏览器默认设置。使用此站点可按元素检查默认浏览器值。

我认为答案是原作者不知道currentColor,而使用var(--color)来设置像背景颜色/填充/笔画这样的东西,应该匹配文本。

在所有元素上设置color属性为var(——color),然后在其他地方定义——color的目的可能是在整个代码库中创建一致且易于修改的配色方案。

在所有元素上使用值为inherit的color属性将使每个元素的文本颜色继承其父元素的颜色。然而,这可能会使在代码库中创建一致的配色方案变得困难,因为它需要在每个文本元素的每个父元素上手动设置color属性。

通过使用var(——color),代码库可以定义一个单独的CSS变量——color,可以很容易地修改它来改变整个代码库中所有文本元素的颜色。这可以简化更改代码库配色方案的过程。

另外,使用var(——color)代替inherit可以确保文本元素总是有一个定义的文本颜色,而不管它们的父元素是什么。如果将color属性设置为inherit,则可以帮助避免可能发生的意外或非预期的文本颜色更改。

总的来说,在所有元素上使用var(——color)并在其他地方定义——color有助于在代码库中创建一致且易于修改的配色方案。