顏色值是Sass中的一種特殊的數據類型,我們在之前“Sass數據類型”這一節已經詳細介紹過了。
在Sass中,我們也是可以對顏色值進行運算的。顏色運算支持加、減、乘、除,並且是分段進行計算的。也就是說,紅、綠、藍這3個部分的顏色是單獨進行計算的。
舉例1:
div { color: (#010203 + #040506); }
編譯出來的CSS代碼如下:
div { color: #050709; }
分析:
由於顏色運算是分段的,其中紅、綠、藍3個部分單獨進行計算,所以這個例子的計算方式為:
01 + 04=05, 02 + 05=07, 03 + 06=09
最後,將這3段計算後的結果合並得到最終顏色值:#050709。
舉例2:
div { color: (#010203 * 2); }
編譯出來的CSS代碼如下:
div { color: #020406; }
分析:
由於顏色運算是分段的,其中紅、綠、藍3個部分單獨進行計算,所以這個例子的計算方式為:
01 * 2=02, 02 * 2=04, 03 * 2=06
最後,將這3段計算後的結果合並得到最終顏色值:#020406。
此外,如果顏色值不是十六進制顏色值(如#010203),而是RGB或者HSL的話,我們都是將RGB或HSL先轉換為十六進制顏色值,然後再進行加、減、乘、除運算的。
div { color:(rgb(17,34,51) *2); }
編譯出來的CSS代碼如下:
div { color: #224466; }
分析:
rgb(17,34,51轉化為十六進制顏色值為“#112233”,然後進行乘法運算,最後得到最終顏色值:#224466。
疑問1、顏色運算到底有什麼用?怎麼我感覺是雞肋呢?
顏色處理是非常好用的,這個我們在後面“Sass顏色函數”這一章會詳細介紹。此外,這一節是後面的基礎,而且也很簡單,還是認真看一下。學到後面小伙伴們就知道顏色運算的真正用途了,暫時不需要糾結哈。