類似於其他的控制指令,@while指令也需要SassScript表示式和直到該語句的計算結果為假之前,它會反復輸出巢狀樣式。需要注意的關鍵一點是,在每個疊代記數變數需要遞增/遞減。
語法
while(condition) {
// CSS codes
}
範例
下面的例子演示了如何使用 @while 指令:
<html>
<head>
<title>Control Directives & Expressions</title>
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
<p class="paddding-50">This is line one with left padding 50. </p>
<p class="paddding-40">This is line two with left padding 40.</p>
<p class="paddding-30">This is line three with left padding 30. </p>
<p class="paddding-20">This is line four with left padding 20. </p>
<p class="paddding-10">This is line five with left padding 10. </p>
</body>
</html>
接下來,建立檔案 style.scss
style.scss
$i: 50;
@while $i > 0 {
.paddding-#{$i} { padding-left: 1px * $i; }
$i: $i - 10;
}
可以告訴SASS監視檔案,並隨時使用下面的命令更新SASS檔案修改CSS:
sass --watch C:\Ruby22-x64\style.scss:style.css
接著執行上面的命令,它會自動建立 style.css 檔案,下面的程式碼:
style.css
.paddding-50 {
padding-left: 50px; }
.paddding-40 {
padding-left: 40px; }
.paddding-30 {
padding-left: 30px; }
.paddding-20 {
padding-left: 20px; }
.paddding-10 {
padding-left: 10px; }
輸出結果
讓我們來執行以下步驟,看看上面的程式碼工作:
儲存上面的 html 程式碼在 @while.html 檔案中。在瀏覽器中開啟該HTML檔案,得到輸出如下顯示。