Css 变量的一部分是动态的
我尝试在sass(scss)中执行以下操作Css 变量的一部分是动态的,css,sass,Css,Sass,我尝试在sass(scss)中执行以下操作 $colors-#{$type} 但我明白了 未定义变量$colors- 我找到了一个参考3.3的来源,他们确实提到了,但是,我找不到解决问题的方法 有办法做到这一点吗 我认为这篇文章有误导性。我在Github上发现的每个问题(例如或)都建议使用地图。其中一位撰稿人写道: 我们决定添加一个关联数据类型(aka map/hash),它将解决这个用例 使用映射和map-get()动态获取样式定义。您可以在mixin、函数或直接使用它。下面的例子 $colo
$colors-#{$type}
但我明白了
未定义变量$colors-
我找到了一个参考3.3的来源,他们确实提到了,但是,我找不到解决问题的方法
有办法做到这一点吗
我认为这篇文章有误导性。我在Github上发现的每个问题(例如或)都建议使用地图。其中一位撰稿人写道: 我们决定添加一个关联数据类型(aka map/hash),它将解决这个用例 使用映射和
map-get()
动态获取样式定义。您可以在mixin、函数或直接使用它。下面的例子
$colors: (
"green": #0c0,
"blue": #00c,
"red": #c00
);
@mixin my_color($color) {
color: map-get($colors, $color);
}
@function my_color_func($color) {
@return map-get($colors, $color);
}
body {
@include my_color("green"); // use a mixin
background-color: my_color_func("blue"); // use of a function
border: 1px solid map-get($colors, "red"); // use directly
}
生成以下css:
body {
color: #0c0;
background-color: #00c;
border: 1px solid #c00;
}
我想不出什么情况下你会这么做。你想做什么?我正在为颜色做一个通用函数,所以它对不同类型(主颜色、文本颜色等)使用不同的贴图,看看我的示例。Il可以通过使用if解决这个问题,但是,如果添加更多的颜色贴图,我必须修改函数,这是一个更干净的方法。我没有走很远的路去解决它@JamesKing