在媒体查询中使用LESS变量

时间:2014-02-12 22:45:00

标签: css less

当我输入以下较少的代码时:(将其粘贴到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中是否有正式语法可以让我这样做?

如果没有 - 是否有解决方法?

1 个答案:

答案 0 :(得分:17)

由于数学设置

默认情况下,LESS要求数学运算在括号内(strict-math=on)。因此,您的变量需要围绕值进行正确计算,如下所示:

@layout-max-width: (@num-cols * @item-width + @margins);

然后您的原始代码将按预期输出。