我的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
中的其他混音正常运作
我的错是什么?
答案 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"...
- 所以最终会给你这个错误。