更少的语法问题

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 属性。