将参数列表传递给sass mixin并从中组合一个值

时间:2019-01-18 20:15:17

标签: sass

对标题感到困惑,不知道如何用简单的庄园来写。

我想要的是这样的

a

将被移植到:

.someClass {
  @include transition(color, background);
}

我在文档中找不到此内容。

任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

有一些方法可以做到这一点,您正在寻找的是一个混蛋。

尽管对于简单的用例来说这是一个很好的解决方案,但它并不总是最简单的。

在这里我举一个例子。我希望它会有用:

@mixin transition($duration, $ease, $props){
  $value: '';
  @if(type-of($props)=='string'){
    $value: $props $duration $ease;
  }
  @if(type-of($props)=='list'){
    $i: 0;
    @each $prop in $props{
      $i: $i + 1;
      $value: #{$value} $prop $duration $ease if(length($props) == $i, unquote(''), unquote(','));
    }
  }
  transition: $value;
}

.someClass {
    @include transition(200ms, ease-in-out, $props: color background);
}