在某些情況下,為了更好的適配瀏覽器,我們會在css里面用上calc方法來准確的計算出元素的高度或寬帶等屬性。
例如:
需求:讓頁面內容剛好填充一屏幕高度。
頁面內容分為2部分,已知頭部導航欄為80px,此時我們只需要拿到屏幕高度 - 導航欄高度(80px),等到的像素就是內容區域的高度了,css我們這樣寫就可以了
.body { height: calc(100vh-80px) }
但如果你使用了less,你會發現,這里的高度並不如我們所願,此時高度會奇怪的變成了 20vh。那是因為 less 中本來有 - 運算操作,我們 calc 中加上 ~'' 就可以
阻止被 less 編譯(來自網友的解釋)。
.body { height: calc(~"100vh - 80px") }
這樣一來,我們就可以得到正確的結果了。