У меня меньше кода:
colors : 1 #F00, 2 #0F0, 3 #00F, 4 #F0F;
.for(@colors); .-each(@values) {
@position: extract(@values, 1);
@color: extract(@values, 2);
&.raster-@{position} {
background-image: linear-gradient(#000000, @color);
}
}
Я использую миксин for из https://github.com/seven-phases-max/less.curious/blob/master/src/for.less
Сгенерированный код:
.bg-1 {
background-color: #ff0000 !important;
color: extract(1 #ff0000, 3);
}
.bg-2 {
background-color: #00ff00 !important;
color: extract(2 #00ff00, 3);
}
.bg-3 {
background-color: #0000ff !important;
color: extract(3 #0000ff, 3);
}
.bg-4 {
background-color: #ff00ff !important;
color: extract(4 #ff00ff, 3);
}
Я нашел проблему. Я использую .for() для создания классов .bg-xx.
@bgColors : red red yellow, blue blue white;
.for(@bgColors); .-each(@values) {
@name: extract(@values, 1);
@bgColor: extract(@values, 2);
@color: extract(@values, 3);
&.bg-@{name} {
background-color: @bgColor !important;
color: @color;
}
}
Что не так с этим кодом?
.for
в одной и той же области. (В вашем фрагменте похоже, что у вас есть еще один.for.-each
, который мешает этому). При необходимости изолируйте эти циклы друг от друга с помощью& {}
(см. например), в противном случае все.-each
определения одной и той же области действия стекают, таким образом, каждый.for
запускает каждый.-each
... - person seven-phases-max   schedule 29.03.2015.bg
?)) - чтобы я мог написать модифицированный пример. В противном случае потребуется слишком много времени, чтобы охватить все возможные множественные циклы в одной и той же вариации подводных камней с решением для каждого. - person seven-phases-max   schedule 29.03.2015