css - Sass 映射生成变量名

标签 css variables dictionary sass

<分区>

我在 Sass 中有一个带有键和值的映射

 $colors: (blue: #0081d2, green: #288600, orange: #e57323);

 @each $color, $value in $colors {
    .#{$color} {
        color: $value; 
    }
 }

这有效并为我提供了具有适当值的 css 类名,例如:

 .blue{
    color: #0082d1;
 }

想要的是一个根据映射中的键生成 sass 变量的函数。

 $blue:  #0082d1;
 $green: #288600;

我一直在伤脑筋,但无法正常工作。

最佳答案

您可以创建一个函数以通过指定的键返回值。

示例

$colors: (blue: #0081d2, green: #288600, orange: #e57323);

@function color($color) {
    @return map-get($colors, $color);
}

.bacon {
  color: color(blue);
}

结果

.bacon {
  color: #0081d2;
}

关于css - Sass 映射生成变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29695500/

相关文章:

python - 为什么我不能向字典添加更多键? - Python

c# - WPF 绑定(bind)到带有类的字典

python - Python中的过滤操作

html - 如何使用 CSS Flexbox 来伸缩多个高度/尺寸的盒子

Javascript:按时间顺序对用户输入进行排序

html - 外部 style.css 不适用于 bootstrap css

html - 在同一行的不同div中对齐不同大小的图像

java - 如何在加法器游戏中检查第三个变量(ans)?

javascript - 在函数外更改变量值

c# - 为什么使用 64 位哈希而不是字符串时字典的内存消耗会增加?