所以,我正在尝试设计一个样式表,为我们提供快速简便的自定义选项(一些团队成员对 CSS 的理解有限,构建一个可以轻松编辑的“主题表”会更安全)
我在 :root 中声明我的变量并稍后在 css 文件中使用它们,但我观察到如果 css 找不到变量,它会恢复为默认值,而不是使用之前在 CSS 中提供的值。
:root {
--global-font: empty;
--global-font-color:empty;
--global-bg-color: #282a33;
}
我目前将其设置为继承以解决此问题,但这仍然从其父容器中提取值,并且网页已经选择了默认主题,如果我们继承,它通常会破坏它们。
body
{
font: var(--global-font,inherit);
color: var(--global-font-color,inherit);
background-color:var(--global-bg-color,inherit);
}
我最终的解决方案是注释掉除正在使用的变量之外的所有变量。这允许我在 var() 的第二个字段中指定一个默认值,除非该变量确实存在,否则它将始终默认为该值。这不是我的目标,但我相信它是基本 CSS 范围内的唯一解决方案。