更新時間:2021-09-30 來源:黑馬程序員 瀏覽量:
Sass支持?jǐn)?shù)字的加(+)、減(-)、乘()、除(/)和取余(%)等運算,如果必要時會在不同單位間進(jìn)行值的轉(zhuǎn)換。示例代碼如下。
p { width: 1in + 8pt; }
上述代碼編譯后的結(jié)果如下。
p { width: 1.111in; }
上述代碼中,將8pt轉(zhuǎn)換為lin后的值為1.111in。其中,pt全稱為point,是一個自然界的長度單位,1in = 72pt。
在學(xué)習(xí)了不同單位間轉(zhuǎn)換值之后,下面以“/”運算符號為例講解Sass元素的內(nèi)容。
“/”符號在CSS中通常起到分隔數(shù)字的用途,而在Sass中同時也賦予了“/”除法運算的功能,但兩者并不會沖突。也就是說,如果“/”在Sass中把兩個數(shù)字分隔,編譯后的CSS文件中也是同樣的作用。
下面通過代碼演示“/”符號的使用方式。
p { font: 10px/8px; $width: 1000px; width: $width/2; height: (500px/2); margin-left: 5px + 8px/2px; }
上述代碼編譯后的結(jié)果如下。
p { font: 10px/8px; width: 500px; height: 250px; margin-left: 9px; }
上述代碼中,font編譯后的結(jié)果不變,這是因為沒有被圓括號包裹;width編譯后的結(jié)果為500px,這是$width變量除以2計算后的結(jié)果,因為$width變量的值提前定義為1000px;height編譯后的結(jié)果為250px,這是被圓括號包裹的500px/2計算后的結(jié)果;margin-left編譯后的結(jié)果為9px;這是因為“8px/2px”作為了算數(shù)表達(dá)式的一部分,并且計算后結(jié)果為4px,然后,再通過“+”符號與前一個值進(jìn)行加法運算,所以最終得到的結(jié)果為9px。
如果需要使用變量,同時又要確?!?”不做除法運算而是完整地編譯到CSS文件中,只需要用#{}插值語句將變量包裹。示例代碼如下。
p { $font-size: 12px; $line-height: 30px; font: #{$font-size}/#{$line-height}; }
上述代碼編譯后的結(jié)果如下。
p { font: 12px/30px; }
除了數(shù)字運算之外,關(guān)系運算符<、>、<=、>=也可以用于數(shù)字的運算,所有數(shù)據(jù)類型均支持相等(==)或不等(!=)運算。此外,每種數(shù)據(jù)類型也有其各自支持的運算方式。關(guān)于更多運算符號的使用,讀者可以參考Sass官網(wǎng)進(jìn)行學(xué)習(xí)。
猜你喜歡: