0

我正在尝试设置速记字体值(相关问题),但我用于 line-height 的变量表现得很奇怪;好像每次都重新解释变量一样。这是 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;
}

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

4

1 回答 1

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;
}

我希望这是您想要/预期的结果。

于 2013-07-23T09:46:15.500 回答