使用LESS,如何在變量末尾用「px」減去值。我有以下變量:LESS:減去變量
@bpMobile: 600px
我想要做的是減去該1px的
@media only screen and (max-width: @bpMobile - 1px) {
}
我怎樣才能用更少實現這一目標?
使用LESS,如何在變量末尾用「px」減去值。我有以下變量:LESS:減去變量
@bpMobile: 600px
我想要做的是減去該1px的
@media only screen and (max-width: @bpMobile - 1px) {
}
我怎樣才能用更少實現這一目標?
您可以隨時使用此calc function
。
語法: calc(expression)
如:
abc {
width:calc(100%-20px)
}
Here都支持此功能的瀏覽器的列表
編輯1:
您可以在使用它以下兩種方式:
LESS輸入:
@bpMobile: 600px;
max-width: calc(~'@{bpMobile} - 1px');
CSS輸出:
max-width: calc(600px - 1px);
第二方式: 更少的輸入:
@bpMobile: 600px;
max-width: calc(@bpMobile - 1px);
CSS輸出:
max-width: calc(599px);
有了第一個選項,calc參數會被轉義,以防止它們在編譯時被評估。在客戶端評估之前,這些值將保持完全靜態。
第二種選擇是在編譯時計算calc值。這將是一樣
max-width: @bpMobile - 1px;
這將導致
max-width: 599px;
我可以在變量中使用它嗎?像calc(@bpMobile - 1px)? – cusejuice
calc不支持媒體查詢 –
第一種解決方案會很糟糕,即使它確實有效:畢竟,這兩個值(@bpMobile和1px)在less-compileTime都是已知的,所以第二種方式應該是這樣! - 話雖如此:還是不錯的,你指出的情況下,這是不可能的,「高度:100vh - @ someHeightInPx」,其中一個運行時'calc()'(= css中可讀的)是唯一的選擇... –
從freejosh的修復不適合我的lesscss 1.7.0工作。
什麼訣竅是簡單地增加paranthesis周圍的每一個變量或計算媒體查詢裏面:
@media only screen and (max-width: (@bpMobile - 1px)) { ... }
或
@other: @bpMobile - 1px;
@media only screen and (max-width: (@other)) { ... }
底部的解決方案爲我工作。關鍵是將所有內容完全按照所示方式分隔開,並在媒體查詢中的變量周圍添加括號。我正在使用LESS 2.3 – AgnosticDev
對不起,我回答這麼晚,但我有這個非常問題看起來LESS對於間距是挑剔的。您的計算還需要()
。
這是行不通的:
@media screen and (max-width: (@widthSmall-2)) { }
然而,這將(注意變量和數字之間的空間):
@media screen and (max-width: (@widthSmall - 2)) { }
好吧,當然'Less'對於空格是挑剔的,因爲'-'可以是CSS中標識符的一部分。例如。我們不希望'max-width'從'max'減去'width'。至於'@ media'查詢值的parens - 是的,不管是否使用'--strict-math'選項,它們都是必需的。 –
只是去嘗試,似乎沒有上班。 – cusejuice