我有一个项目,分为父级应用程序和几个独立仓库中的可重用子组件。我想在这些子组件中定义默认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
标志,这基本上意味着“如果尚未声明,则声明”。