Я использую dotless для разбора LessCss во время выполнения. Это в основном успешно, но у меня есть один сценарий, когда это не работает должным образом.
Учитывая следующий LessCss:
@tileWidth: 50px;
@tileMarginX: 5px;
@gridWidth: 2;
// recursive less to generate all x positions down to 1
.position-x(@maxIndex) when (@maxIndex > 0) {
[data-col="@{maxIndex}"] {
left: ((@maxIndex - 1) * @tileWidth) + (@tileMarginX * ((@maxIndex * 2) - 1));
}
.position-x(@maxIndex - 1);
}
.position-x(@gridWidth);
WebEssentials 2013 Update 3 будет скомпилирован в:
[data-col="2"] {
left: 65px;
}
[data-col="1"] {
left: 5px;
}
LessEngine.TransformToCss выведет:
[data-col="@{maxIndex}"] {
left: 65px
}
[data-col="@{maxIndex}"] {
left: 5px
}
Этот синтаксис не поддерживается в DotLess?
Как изменить код Less, чтобы получить ожидаемый результат?
dotless
просто не поддерживает интерполяцию в селекторах атрибутов: что-то вроде должен помочь, я думаю. - person seven-phases-max   schedule 28.10.2014