考虑以下SCSS:
$color-black: #000000;
body {
--color: $color-black;
}
Run Code Online (Sandbox Code Playgroud)
当使用node-sass 版本4.7.2进行编译时,它会生成以下CSS:
body {
--color: #000000;
}
Run Code Online (Sandbox Code Playgroud)
当我使用4.8.3或更高版本编译相同的SCSS时,它产生以下内容:
body {
--color: $color-black;
}
Run Code Online (Sandbox Code Playgroud)
我错过了什么?我检查了发布日志,但找不到任何有用的东西.另外,我想知道这种变化是否真实,为什么它只有轻微的版本更改?它应该不是主要版本吗?
另外,我的替代方案是什么?我应该使用插值吗?
Ter*_*rry 17
只需使用字符串插值:
$color-black: #000000;
body {
--color: #{$color-black};
}
Run Code Online (Sandbox Code Playgroud)
显然旧的行为并非意图并且违反了SASS的语言规范:
我找到了一种将 scss 变量映射到 css 变量的解决方法。
请参阅特里的答案以更好地使用
Scss:
// sass variable map
$colors: (
color-black: #FFBB00
);
// loop over each name, color
:root {
// each item in color map
@each $name, $color in $colors {
--#{$name}: #{$color};
}
}
Run Code Online (Sandbox Code Playgroud)
css:
:root {
--color-black: #FFBB00;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2300 次 |
| 最近记录: |