SASS mixin没有采取变量

时间:2013-12-26 16:38:59

标签: sass mixins

我的SASS项目中有以下mixins:

@mixin define-size($height, $width) {
  width: $width;
  height: $height;
}
@mixin define-square($size) {
  @include define-size($size, $size);
}

我试着打电话给他们,但是我收到编译错误...
我试过了:

@mixin define-square(45px);
@mixin define-square(45);
@mixin define-square("45px");
@mixin define-square("45");

每一次,我都会遇到同样的错误:

Invalid CSS after "...   @mixin define-square(": expected variable (e.g. $foo), was "45px);")

同一_mixin.scss中的其他混音正常运作 我的错是什么?

1 个答案:

答案 0 :(得分:10)

要调用mixin,请使用@include指令,而不是执行:

@mixin define-square(45px);
@mixin define-square(45);
@mixin define-square("45px");
@mixin define-square("45");

你应该这样做:

@include define-square(45px);
@include define-square(45);
@include define-square("45px");
@include define-square("45");

请参阅http://sass-lang.com/documentation/file.SASS_REFERENCE.html#including_a_mixin


Re:你得到的错误:

SASS解析器看到@mixin define-square(并假设你正在创建一个新的mixin,所以它正确地期望一个参数列表,即($foo, $bar),但它得到"45px"... - 所以最终会给你这个错误。