我有一个项目,它被拆分为父应用程序,以及几个可重用的子组件在单独的存储库中。我想在这些子组件中定义默认的 CSS 变量,它可以被父应用程序覆盖,但是我找不到正确的语法。这是我尝试过的:
/* parent */
:root {
--color: blue;
}
/* child */
:root {
--color: var(--color, green);
}
.test {
width: 200px;
height: 200px;
background: var(--color, red);
}
https://codepen.io/daviestar/pen/brModx
颜色应该是蓝色的,但是当:root
定义孩子时,颜色实际上是红色的,至少在 Chrome 中是这样。
对此有正确的方法吗?在 SASS 中,您可以!default
为子变量添加一个标志,这基本上意味着“声明它是否尚未声明”。