【发布时间】:2023-03-05 03:49:01
【问题描述】:
是否有任何工具可以编译在 not :root 规则中声明的 CSS 自定义属性?我想要以下带有自定义属性的代码
.dark {
--bg-color: black;
--fg-color: white;
}
.light {
--bg-color: white;
--fg-color: black;
}
.foo {
background: var(--bg-color);
display: block;
}
.bar {
color: var(--fg-color);
display: inline;
}
像这样编译成它们的非自定义属性等价物
.light .foo, .light.foo {
background: white;
}
.dark .foo, .dark.foo {
background: black;
}
.light .bar, .light.bar {
color: black;
}
.dark .bar, .dark.bar {
color: white;
}
.foo {
display: block;
}
.bar {
display: inline;
}
目标是
- 通过在根 DOM 元素上切换暗/亮类来切换配色方案
- 使用有效的 css 语法(无 sass 少)
- 保持规则代码紧凑
【问题讨论】:
-
“编译”是什么意思?您是在谈论将自定义属性转换为它们的非自定义属性等价物吗?您的自定义道具示例已按预期工作。
-
我希望转译器/预处理器将“自定义属性转换为其非自定义属性等效项”
标签: css preprocessor transpiler