在Sass中,我們也可以使用@while語句來實現循環操作。跟JavaScript一樣,@while語句既是循環語句,也是條件判斷語句。
語法:
@while(判斷條件) { 執行語句; }
說明:
在Sass中,沒有類似於JavaScript的“do...while...”這種語句。這一點小伙伴們要注意一下。
舉例1:使用@while循環
$i:3; @while ($i>0) { .item-#{$i} { width: (20px + $i); } $i : ($i - 1); //遞減操作 }
編譯出來的CSS代碼如下:
.item-3 { width: 23px; } .item-2 { width: 22px; } .item-1 { width: 21px; }
分析:
當然,對於上面這個例子,我們也可以使用for循環來實現,效果是一樣的。
舉例2:使用@for循環
@for $i from 1 through 3 { .item-#{$i} { width:(20px+$i); } }
編譯出來的CSS代碼如下:
.item-1 { width: 21px; } .item-2 { width: 22px; } .item-3 { width: 23px; }
分析:
細心的小伙伴們可能就會有疑問了:對於“width:(20px+$i);”這個,$i是一個數字,而20px是像素,這可以進行相加嗎?其實,在之前“Sass數據類型”這一節已經說過了:在Sass中,帶有單位的數值我們也可以把它當做一個“數字”來處理。
此外,我們還要記得一點:帶單位的數字與不帶單位的數字是可以進行相加,結果是一個帶單位的數字。但是帶單位的數字與不帶單位的數字是不可以相減的,小伙伴們可以自行測試一下。