我正在尝试制作一个LESS mixin,它会给我这个输出:
.resource:nth-child(8n+1) { clear: left; }
到目前为止我已经得到了这个:
.wrap-every(@n) {
&:nth-child(@n + "n+1") { // parse error on this line
clear: left;
}
}
.resource {
.wrap-every(8);
}
但是它在指示的行上给出了一个解析错误
ParseError:无法识别的输入
有办法做到这一点吗?
答案 0 :(得分:25)
.wrap-every(@n) {
&:nth-child(@{n}n + 1) {
clear: left;
}
}
这应该具有所需的输出。没有任何黑客需要。
在您可以尝试简单的字符串插值:
.wrap-every(@n) {
@t: ~":nth-child(@{n}n + 1)";
&@{t} {
clear: left;
}
}
并且两种情况下的输出 CSS 都应该是这样的:
.resource:nth-child(8n + 1) {
clear: left;
}