【发布时间】:2020-09-10 17:22:18
【问题描述】:
这个问题本身是不言自明的。我有以下代码:
:root {
--brand-color: blueviolet;
--button-background-color: var(--brand-color);
}
body {
--brand-color: blue;
}
button {
background-color: var(--button-background-color);
border: none;
color: #fff;
border-radius: 4px;
padding: 4px 10px;
}
<html>
<body>
<button>Button</button>
</body>
</html>
在body {...} 选择器中,我已经覆盖了--brand-color 变量。按钮在正文中,但按钮的背景颜色仍设置为根中定义的--brand-color。我知道这是 CSS 变量的默认行为,但有人可以向我解释为什么会发生这种情况以及在这里覆盖变量的正确方法是什么?前提是,我不想在 button {...} 选择器中覆盖它。
【问题讨论】:
标签: css css-variables