Using LESS variables in media queries

霸气de小男生 提交于 2019-11-28 04:05:57

问题


When I enter the following less code: (paste it into 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;
    }
}

... the resulting CSS is:

@media (min-width: 3 * 120px + 40px) {
  .list {
    width: 400px;
  }
}

Notice that the same variable @layout-max-width - in the media query it produces an expression (which isn't what I want) and when used as the value for the width property it produces 400px (which is also what I want for the media query.)

Is there formal syntax in LESS which enables me to do this?

If not - is there a workaround?


回答1:


Due to Math Settings

LESS by default expects math operations to be in parenthesis (strict-math=on). So your variable needs those around the values to calculate correctly, like so:

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

Then your original code will output as you expect.



来源:https://stackoverflow.com/questions/21741531/using-less-variables-in-media-queries

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!