在SASS中对变量列表执行计算

时间:2013-04-13 23:08:26

标签: loops sass

是否可以对变量列表执行计算,以生成另一个变量列表。

E.g。说我想列出我想在CSS中使用的所有媒体查询...

$mediaQueries:
768,
1024
;

然后将所有这些的价值翻倍......这样......

$newMediaQueries:

@each $mediaQuery in $mediaQueries {
  $mediaQuery * 2
}

;

(我真正想做的是为这个变量列表生成em版本,但我认为这个例子我的数学很简单。)

1 个答案:

答案 0 :(得分:1)

是:

$mediaQueries: 768, 1024;

$newMediaQueries: ();

@each $mediaQuery in $mediaQueries {
  $newMediaQueries: append($newMediaQueries, $mediaQuery * 2);
}

诀窍是创建一个空列表,然后遍历旧值并将它们附加到新列表中。

默认情况下,它会输出1536 2048之类的列表,但您可以通过传递该选项来使用逗号:$newMediaQueries: append($newMediaQueries, $mediaQuery * 2, comma);