【发布时间】:2019-12-06 14:21:41
【问题描述】:
在我的 SASS 代码中,我有一个包含所有颜色的数组,然后我创建了一个 each 循环来从这些颜色创建 css 变量,最后我想做另一个循环来创建每个 sass这些css颜色的变量......让我告诉你:
/************************************************************
********************** COULEURS *************************
************************************************************/
$colors : (
"pink" : #E20071,
"blue" : #00A3DA,
"gray" : #939394,
"darkGray" : #939394,
"yellow" : #FEA347,
"green" : #4CA66B,
"white" : #FFFFFF,
"black" : #1B1B1B,
);
:root{
@each $key, $value in $colors {
--#{$key} : #{$value};
}
}
$pink : var(--pink);
$blue : var(--blue);
$gray : var(--gray);
$yellow : var(--yellow);
$green : var(--green);
$white : var(--white);
$black : var(--black);
$darkGray : var(--darkGray);
所以我尝试了这样的事情:
@each $key, $value in $colors {
$#{$key} : var(--#{$key});
}
但它给了我一个错误:Invalid CSS after "...ue in $colors {": expected 1 selector or at-rule, was "$#{$key} : var(--#{" in /home/simon/Documents/HL3/URSELF/app/src/variables.scss (line 28, column 32)
所以我的问题是有可能实现这样的目标吗?;创建变量真的很有帮助,如果我想删除/添加一个,我只需要在数组中进行,然后所有代码都会自行更新......
【问题讨论】:
-
您的代码示例运行良好,请查看sassmeister。你使用的是什么 Sass 编译器和什么版本的 Sass?
-
哦,看来我误解了你的问题,你想创建 scss 变量,而不是 CSS 变量。 Sass 不支持动态变量创建。
-
@Arkellys,我的错,我找类似的时候没找到
-
@Flying,好的,谢谢你的回答,遗憾的是我期待这样一个否定的答案,但是好的,我会做两次声明;)