较少CSS网格混合

and*_*ard 2 less

我有这个LESS代码:

.generate-spans(@columns; @prefix; @current: 1) when (@current =< @columns) {
    .span-@{prefix}-@{current} {
        width: (@current/@columns*100%);
    }
    .generate-spans(@columns, @prefix, (@current + 1));
}

.generate-spans(12, "large");
Run Code Online (Sandbox Code Playgroud)

假设生成这样的东西:

.span-large-1 {
    width: 8.333333333333332%%;
}

.span-large-2 
    width: 16.666666666666664%;
}
.....
Run Code Online (Sandbox Code Playgroud)

但它只返回错误:对无效类型的操作....

如何使代码按预期工作?

hel*_*cha 5

您的代码适用于Less 1.7.0.在这里试试:http://lesstester.com/

唯一的拼写错误是引号中的名称,您应该删除它:

.generate-spans(12, large);
Run Code Online (Sandbox Code Playgroud)

而且该修复程序也可能使其在您正在使用的Less版本中工作.

如果由于某种原因你必须使用引号,你也可以尝试:

.generate-spans(12, ~"large");
Run Code Online (Sandbox Code Playgroud)

这将从生成的CSS中删除引号.