我正在为LESS中的颜色循环工作。问题是我的@joined参数。我想选择设置'&'到了类,但是我得到了语法错误。我怎么设置这个?
SyntaxError: could not understand value for named argument
.coloursMixin(@joined: &;) {
@white: #fff;
@black: #000;
@array: 'white','black';
.coloursMixin(@joined: &;) {
.for(@array); .-each(@array) {
@name: e(@array);
@joined.@{name} {color: @@name}
}
}
// ............................................................
// .for
.for(@i, @n) {.-each(@i)}
.for(@n) when (isnumber(@n)) {.for(1, @n)}
.for(@i, @n) when not (@i = @n) {
.for((@i + (@n - @i) / abs(@n - @i)), @n);
}
// ............................................................
// .for-each
.for(@array) when (default()) {.for-impl_(length(@array))}
.for-impl_(@i) when (@i > 1) {.for-impl_((@i - 1))}
.for-impl_(@i) {.-each(extract(@array, @i))}
答案 0 :(得分:2)
您无需传递任何参数。如果要为每个选择器应用不同的类,可以在其中调用no-arg mixin,并直接使用&
:
.coloursMixin() {
.for(@array); .-each(@array) {
@name: e(@array);
&.@{name} {color: @@name}
}
}
您可以不加任何参数使用它:
.section {
.coloursMixin();
}
它会将选择器附加到每个类:
.section.white {
color: #ffffff;
}
.section.black {
color: #000000;
}