如果params更短,则将SASS参数拆分为默认值

时间:2015-11-06 14:18:50

标签: sass

我有一个sass mixin通常接收params,例如:

1 1 33%

(周围没有报价) 我可以使用nth($ values,1)拆分这些值;等

但有时候调用mixin只有一个值

1
然后

nth()将失败:索引超出nth($list, $n)

的范围

如果使用一个值参数调用mixin,那么回退到某些默认值的优雅方法是什么?

1 个答案:

答案 0 :(得分:0)

我想出了

$grow: 1;
$shrink: 1;
$basis: 0px;
@if length($values) >= 1 {
    $grow: nth($values, 1);
}
@if length($values) >= 2 {
    $shrink: nth($values, 2);
}

@if length($values) >= 3 {
    $basis: nth($values, 3);
}

但是获得默认值似乎是一个更复杂的逻辑:https://css-tricks.com/almanac/properties/f/flex/

但现在这不属于这个问题的范围,并不是特定于flexbox。