【发布时间】:2021-02-21 20:07:01
【问题描述】:
我正在使用以下三个文件将 SCSS 文件编译为 CSS:
bootstrap/_variables.scss:
$font-color-root: #ff6d00;
$font-color-dark: #000;
主题/_theme.scss:
:root {
--font-color: #{$font-color-root};
}
/* dark theme variables */
[data-theme=\'dark\'] {
--font-color: #{$font-colour-dark};
}
style.scss:
//import variables
@use 'bootstrap/variables' as *;
//import CSS files
@use 'themes/theme';
这一直抛出这个错误,很明显变量在theme.scss文件中是不可见的,如何让它们可见?
我认为全局命名空间可以解决这个问题。
Error: Undefined variable.
╷
2 │ --font-color: #{$font-color-root};
`
【问题讨论】:
-
不要将 css 变量与 sass 变量结合起来。只需使用 sass 变量。另外css变量调用外的#也不需要,也会抛出错误。
-
@NathanielFlick 除非我弄错了,CSS 和 SASS 变量执行不同的功能。 CSS 变量对于浅色/深色主题是必需的。我看不到如何将它们彼此分开会导致功能性的浅色/深色主题 CSS 文件。至于 #{$var} 变量,该文档解释说这是 CSS 主题变量所必需的:sass-lang.com/documentation/breaking-changes/css-vars
-
你在使用 dart-sass 吗?
-
@Arkellys 是的,没错
-
@NathanielFlick 我已经发布了使用如图所示格式的变量的解决方案,并且按照文档中的说明是正确的。
标签: sass