Dictionary 如何引用当前SASS映射/字典中的其他值?

Dictionary 如何引用当前SASS映射/字典中的其他值?,dictionary,sass,scss-mixins,Dictionary,Sass,Scss Mixins,我有一个颜色的SASS地图,我希望一些颜色只是参考地图中的另一种颜色 比如说 $colors: ( special-red: #a82523, red: special-red ) 但是,当我运行此命令时,map get($colors,red)的值实际上是special red。我希望值为——a82523 如何执行此操作?当地图未初始化事件时,无法添加密钥。您可以将该值分配给变量$special red:#a82523;然后在地图上指定 $special-red: #a8

我有一个颜色的SASS地图,我希望一些颜色只是参考地图中的另一种颜色

比如说

$colors: (
     special-red: #a82523,
     red: special-red
)
但是,当我运行此命令时,
map get($colors,red)
的值实际上是
special red
。我希望值为
——a82523


如何执行此操作?

当地图未初始化事件时,无法添加密钥。您可以将该值分配给变量$special red:#a82523;然后在地图上指定

$special-red: #a82523;
$colors: (
     special-red: $special-red,
     red: $special-red
)
但是如果你真的想这样做,那么你可以创建一个mixin,并通过它进行查找

$colors: (
    special-red: #009CDC,
    red: special-red
);

@mixin themeColor1($color) {
  $mapColor: map-get($colors, $color);
  @if map-has($mapColor) {
    color: map-get($colors, $mapColor)
  } @else {
    color: map-get($colors, $color)
  }
}

.my-class {
  @include themeColor1(red);
}

.my-class2 {
  color: map-get($colors, special-red);
}
但我的建议是方法1,设置变量