更少的语法问题
Less syntax problems
有些语法用法我看不懂。我有一个带有默认参数的简单混合:
@red: #ff4136;
@blue: #00aef9;
@green: #01ff70;
@yellow: #ffdc00;
.paint(@color: @yellow, @height:100px, @width:200px) {
background-color: @color;
height: @height;
width: @width;
}
.monster-happy {
.paint(@color, 100px, 10px);
}
我只想更改第一个和最后一个默认参数,不想更改中间参数,例如:
.monster-happy {
.paint(@red, @height, 10px);
}
但是没用。我应该如何使其正确以及有什么更好的方法来做到这一点?
我相信您可以忽略要为其使用默认值的值,然后在参数下方显式定义任何参数。
.monster-happy {
.paint(@red, @width: 10px);
}
这是因为您的 mixin 将检查传入的值,以便您传递它们。它总是首先期望颜色,这就是为什么我们可以只使用 @red
,但是由于忽略了高度,我们必须明确声明下一个值是 @width
属性。
有些语法用法我看不懂。我有一个带有默认参数的简单混合:
@red: #ff4136;
@blue: #00aef9;
@green: #01ff70;
@yellow: #ffdc00;
.paint(@color: @yellow, @height:100px, @width:200px) {
background-color: @color;
height: @height;
width: @width;
}
.monster-happy {
.paint(@color, 100px, 10px);
}
我只想更改第一个和最后一个默认参数,不想更改中间参数,例如:
.monster-happy {
.paint(@red, @height, 10px);
}
但是没用。我应该如何使其正确以及有什么更好的方法来做到这一点?
我相信您可以忽略要为其使用默认值的值,然后在参数下方显式定义任何参数。
.monster-happy {
.paint(@red, @width: 10px);
}
这是因为您的 mixin 将检查传入的值,以便您传递它们。它总是首先期望颜色,这就是为什么我们可以只使用 @red
,但是由于忽略了高度,我们必须明确声明下一个值是 @width
属性。