2013-07-23 34 views
0

我試圖設置速記字體值(related question),但我用於行高的變量行爲異常;就好像每次都重新解釋變量一樣。 這是LESS版本1.4.2LESS變量根據上下文而變化?

.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

in Less >= 1.4.0你需要使用括號中的數學運算默認(這是設計,但可以在更少的設置中進行更改)。您的代碼在較低版本的舊版本中可以很好地工作。

所以,如果你在寫:

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

我希望這是你想要的/預期的結果。

+0

啊......完美......感謝您的快速回復。 – Sjeiti

+0

歡迎您^ _ ^高興地提供幫助。 –