Less 更少的混合和变量

Less 更少的混合和变量,less,less-mixins,Less,Less Mixins,我有以下几点: .iconFont(@color: @green, @font-size: 18px){ color: @color; font-size: @font-size; } 如果我只想更改第二个变量值,我需要写入第一个变量的默认值 h1{ .iconFont(@green, 14px); } 否,调用函数时不需要为第一个参数指定默认值。相反,您可以使用feature显式地让编译器知道您在mixin调用中传递的值是第二个参数 .sample{ .iconFont(

我有以下几点:

.iconFont(@color: @green, @font-size: 18px){
  color: @color;
  font-size: @font-size;
}
如果我只想更改第二个变量值,我需要写入第一个变量的默认值

h1{
 .iconFont(@green, 14px);
}

否,调用函数时不需要为第一个参数指定默认值。相反,您可以使用feature显式地让编译器知道您在mixin调用中传递的值是第二个参数

.sample{
    .iconFont(@font-size:14px);
}
编译时,上面的代码会生成下面的输出。(注意:我已将
@green
设置为
#00ff00


使用命名参数功能时,即使参数的传递顺序也无关紧要。例如,可以按如下方式调用相同的mixin:

.sample2{
    .iconFont(@font-size:24px, @color: #070707);
}
它将产生以下结果作为输出

.sample2 {
    color: #070707;
    font-size: 24px;
}

@Harry,绿色是另一个变量(绿色:#f3b600)。我的问题是:当h1使用绿色(在mixin中设置为默认值)时,若我只设置字体大小值,那个么这个值将变为颜色。如果使用Less提供的命名参数功能,则不需要此选项。有关用法的详细信息,请参阅我的回答。
.sample2 {
    color: #070707;
    font-size: 24px;
}