变量根据上下文变化不大?

时间:2013-07-23 09:27:52

标签: variables less subtraction

我试图设置速记字体值(related question),但是用于行高的变量I表现得很奇怪;就像每次重新解释变量一样。 这是LESS版本1.4.2

.info {
    @infoHeight: 22px;
    @infoTopPadding: 2px;
    @infoLineHeight: @infoHeight - @infoTopPadding;
    margin: @infoLineHeight;
    font: bold 13px~'/'@infoLineHeight Arial, sans-serif;
}

结果:

.info {
    margin: 20px;
    font: bold 13px / 22px - 2px Arial, sans-serif;
}

因此,根据上下文,相同的变量会产生两个不同的值。这是预期的行为还是这可能是一个错误?

1 个答案:

答案 0 :(得分:1)

Less >= 1.4.0中的

默认情况下你需要在括号中使用数学运算(这是设计的,但可以在Less设置中更改)。您的代码可以在旧版本的Less。

中完美地运行

所以如果你写 Less

.info {
    @infoHeight: 22px;
    @infoTopPadding: 2px;
    @infoLineHeight: (@infoHeight - @infoTopPadding);
    margin: @infoLineHeight;
    font: bold 13px~'/'@infoLineHeight Arial, sans-serif;
}

CSS 输出变为:

.info {
  margin: 20px;
  font: bold 13px / 20px Arial, sans-serif;
}

我希望这是你期望/预期的结果。