sass mixin - 未使用所有参数
sass mixin - not all arguments used
我开始使用 sass,此刻我开始发现 mixin
并编写我自己的。
我有一个混入:
@mixin column-set ($number, $width, $gap, $rule-style, $rule-width, $rule-color, $col-span) {
-webkit-column-count: $number; /* Chrome, Safari, Opera */
-moz-column-count: $number; /* Firefox */
column-count: $number;
-webkit-column-width: $width; /* Chrome, Safari, Opera */
-moz-column-width: $width; /* Firefox */
column-width: $width;
-webkit-column-gap: $gap; /* Chrome, Safari, Opera */
-moz-column-gap: $gap; /* Firefox */
column-gap: $gap;
-webkit-column-rule-style: $rule-style; /* Chrome, Safari, Opera */
-moz-column-rule-style: $rule-style; /* Firefox */
column-rule-style: $rule-style;
-webkit-column-rule-width: $rule-width; /* Chrome, Safari, Opera */
-moz-column-rule-width: $rule-width; /* Firefox */
column-rule-width: $rule-width;
-webkit-column-rule-color: $rule-color; /* Chrome, Safari, Opera */
-moz-column-rule-color: $rule-color; /* Firefox */
column-rule-color: $rule-color;
-webkit-column-span: $col-span; /* Chrome, Safari, Opera */
column-span: $col-span;
}
我想使用它,但并不总是与所有参数一起使用,因此我将它们按照我认为我需要它们的顺序排列。但是看起来当我调用这个 mixin
时我需要输入所有参数。有什么办法可以避免这种情况吗?
例如:
通话1
@include column-set(3, 40px);
通话2
@include column-set (2, 40px, 10px, solid, 1px, blue);
我试图找到答案,但没有成功。有人可以帮忙吗?
您可以设置一个默认值,如果不在@include
中设置一个值,则使用默认值:
@mixin column-set ($number:3, $width:200px, $gap:20px){
...
}
您也可以设置为null
。
@mixin column-set ($number:3, $width:null, $gap:null){
...
}
在include中你可以调用你想使用的参数:
.class{
@include column-set($gap:10px)
}
我开始使用 sass,此刻我开始发现 mixin
并编写我自己的。
我有一个混入:
@mixin column-set ($number, $width, $gap, $rule-style, $rule-width, $rule-color, $col-span) {
-webkit-column-count: $number; /* Chrome, Safari, Opera */
-moz-column-count: $number; /* Firefox */
column-count: $number;
-webkit-column-width: $width; /* Chrome, Safari, Opera */
-moz-column-width: $width; /* Firefox */
column-width: $width;
-webkit-column-gap: $gap; /* Chrome, Safari, Opera */
-moz-column-gap: $gap; /* Firefox */
column-gap: $gap;
-webkit-column-rule-style: $rule-style; /* Chrome, Safari, Opera */
-moz-column-rule-style: $rule-style; /* Firefox */
column-rule-style: $rule-style;
-webkit-column-rule-width: $rule-width; /* Chrome, Safari, Opera */
-moz-column-rule-width: $rule-width; /* Firefox */
column-rule-width: $rule-width;
-webkit-column-rule-color: $rule-color; /* Chrome, Safari, Opera */
-moz-column-rule-color: $rule-color; /* Firefox */
column-rule-color: $rule-color;
-webkit-column-span: $col-span; /* Chrome, Safari, Opera */
column-span: $col-span;
}
我想使用它,但并不总是与所有参数一起使用,因此我将它们按照我认为我需要它们的顺序排列。但是看起来当我调用这个 mixin
时我需要输入所有参数。有什么办法可以避免这种情况吗?
例如:
通话1
@include column-set(3, 40px);
通话2
@include column-set (2, 40px, 10px, solid, 1px, blue);
我试图找到答案,但没有成功。有人可以帮忙吗?
您可以设置一个默认值,如果不在@include
中设置一个值,则使用默认值:
@mixin column-set ($number:3, $width:200px, $gap:20px){
...
}
您也可以设置为null
。
@mixin column-set ($number:3, $width:null, $gap:null){
...
}
在include中你可以调用你想使用的参数:
.class{
@include column-set($gap:10px)
}