当我输入以下较少的代码时:(将其粘贴到http://less2css.org)
@item-width: 120px;
@num-cols: 3;
@margins: 2 * 20px;
@layout-max-width: @num-cols * @item-width + @margins;
@media (min-width: @layout-max-width) {
.list {
width: @layout-max-width;
}
}
...生成的CSS是:
@media (min-width: 3 * 120px + 40px) {
.list {
width: 400px;
}
}
请注意,同一个变量@layout-max-width
- 在媒体查询中它产生一个表达式(这不是我想要的),当用作width属性的值时,它产生400px(这也是我的想要媒体查询。)
LESS中是否有正式语法可以让我这样做?
如果没有 - 是否有解决方法?
答案 0 :(得分:17)
默认情况下,LESS要求数学运算在括号内(strict-math=on
)。因此,您的变量需要围绕值进行正确计算,如下所示:
@layout-max-width: (@num-cols * @item-width + @margins);
然后您的原始代码将按预期输出。