【发布时间】:2021-06-05 06:10:07
【问题描述】:
动态文本颜色.css
:root {
--title-color: #555555;
}
.text-title-color {
color: var(--title-color);
}
.bg-blue-100 {
--title-color: #999999;
}
.bg-blue-200 {
--title-color: #888888;
}
.bg-blue-300 {
--title-color: #777777;
}
index.html
<div class="bg-blue-100">
<h1 class="text-title-color">I am colored #999999</h1>
</div>
<div class="bg-blue-200">
<h1 class="text-title-color">I am colored #888888</h1>
</div>
<div class="bg-blue-300">
<h1 class="text-title-color">I am colored #777777</h1>
</div>
问题:
我不明白允许每个 h1 具有不同颜色的过程。在这种情况下,我不明白“text-title-color”的值如何根据背景颜色而有所不同。
“自定义属性的范围仅限于声明它们的元素,并参与级联:此类自定义属性的值是由级联算法决定的声明的值。” - https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties
根据上面 Mozilla 对自定义 props 的解释,每个变量的作用域都是其贴花的元素。因此,浏览器会如何将代码转换为类似的东西,如果是的话,下面的代码存储在哪里?:
.bg-blue-100 .text-title-color{
color: #999999
}
.bg-blue-200 .text-title-color{
color: #888888
}
.bg-blue-300 .text-title-color{
color: #777777
}
【问题讨论】:
-
color: --title-color;必须是color: var(--title-color);
标签: css sass css-variables