SCSS @each循环可以包含多个地图吗?

时间:2019-02-19 16:17:10

标签: loops sass maps each scss-mixins

我正在尝试构建一个SCSS @each循环,该循环从一张地图调用颜色,而从另一张地图调用不透明度。

我发现这可以通过变量列表来完成,但是可以通过地图来完成吗?

示例代码:

$colors: (
  red: red,
  orange: orange,
  yellow: yellow,
  green: green, 
);

$opacities: (
  00: 0.0,
  25: 0.25,
  50: 0.5,
  75: 0.75,
  100: 1,
);

@each $color, $opacity in zip($colors, $opacities) {
    .bg-#{$color}-#{$opacity} {
        @include bg-color-op(#{$color}, #{$opacity});
    }
}

@mixin bg-color-op($bg-color, $bg-opacity) {
   background-color: rgba($bg-color, $bg-opacity);
}

1 个答案:

答案 0 :(得分:0)

 @each $color-key,  $color-value in $colors{
    @each $opacity-key, $opacity-value in $opacity {
            // Use key values of map to generate desired classes
     }
   } 

嵌套循环可生成您的类。