SASS mixin没有采取变量

Mic*_*iel 2 sass mixins

我在SASS项目中有以下mixins:

@mixin define-size($height, $width) {
  width: $width;
  height: $height;
}
@mixin define-square($size) {
  @include define-size($size, $size);
}
Run Code Online (Sandbox Code Playgroud)

我试着打电话给他们,但我得到一个编译错误...
我试过:

@mixin define-square(45px);
@mixin define-square(45);
@mixin define-square("45px");
@mixin define-square("45");
Run Code Online (Sandbox Code Playgroud)

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

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

其他混合使用_mixin.scss正常.
我的错是什么?

小智 10

要调用mixin,请使用该@include指令,而不是执行以下操作:

@mixin define-square(45px);
@mixin define-square(45);
@mixin define-square("45px");
@mixin define-square("45");
Run Code Online (Sandbox Code Playgroud)

你应该这样做:

@include define-square(45px);
@include define-square(45);
@include define-square("45px");
@include define-square("45");
Run Code Online (Sandbox Code Playgroud)

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


回复:你得到的错误:

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