sass在@mixin中如何遍历随机数量$map?

sass在@mixin中如何遍历随机数量$map?

RT

假设我有2个$map如下:

$font-size: (
    small: 16px,
    medium: 14px,
    large: 12px
);
$breakpoints: (
    small: 768px,
    medium: 1024px,
    large: 1200px
);

然后我在一个@mixin里用一个@each同时遍历这2个$map(因为它们的属性完全相同):

@mixin mapGet($map1,$map2) {
    @each $key, $value in $map1 {
        //遍历map1的值对
        $view: map-get($map2, $key); //由于map2的键名称与map1相同,可直接取得map2的值
        @media screen and (min-width: $view) {
            font-size: $value;
        }
    }
}
.demo {
    @include mapGet($font-size,$breakpoints);
}

但是这样如果有很多个$map,全都要手写进mapGet的参数里,感觉很麻烦,看见个外国佬的文章,说可以这样:

@mixin mapGet($map...){};

但是这样就遍历不出来了
map-get($map,$key)或者#{$key}: $value;都没有用,不知道有谁知道怎么搞?
那外国佬的文章没有说具体怎么操作。。说下个系列再说,然而没下个系列了。。

阅读 2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题