sass mixins with loops givies error

时间:2016-06-07 17:50:47

标签: css sass compass-sass mixins

我正在编写一个sass代码来获取css输出,如下所示。

(key (first {:a "test"}))

我为此写的sass mixin代码是:

 background: -webkit-linear-gradient(top, 50%);
 background: -moz-linear-gradient(top, 50%);
 background: linear-gradient(top, 50%);

但我收到了错误。有谁能说出原因?

1 个答案:

答案 0 :(得分:1)

$name参数似乎没必要,所以我在第一个例子中省略了它。第二个示例显示了使用$name的替代解决方案,以便正确编译括号。

@mixin linear-gradient($arg1, $arg2){
    @each $vendor in ('-webkit-', '-moz-','') {
        background: #{$vendor}linear-gradient(#{$arg1}, #{$arg2});
    }
}

@mixin linear-gradient($name, $arg1, $arg2){
    @each $vendor in ('-webkit-', '-moz-','') {
        background: #{$vendor}$name+'('+$arg1+', '+$arg2+')';
    }
}

#myElement {
    @include linear-gradient(top, 50%);
}

/* Output */

#myElement {
  background: -webkit-linear-gradient(top, 50%);
  background: -moz-linear-gradient(top, 50%);
  background: linear-gradient(top, 50%);
}