`@while`
`@while` 規則,寫作 `@while <expression> { ... }`,如果它的表達式回傳 `true` 就會執行其程式碼區塊。然後,如果它的表達式仍然回傳 `true`,它會再次執行其程式碼區塊。這將持續到表達式最終回傳 `false` 為止。
SCSS 語法
@use "sass:math";
/// Divides `$value` by `$ratio` until it's below `$base`.
@function scale-below($value, $base, $ratio: 1.618) {
@while $value > $base {
$value: math.div($value, $ratio);
}
@return $value;
}
$normal-font-size: 16px;
sup {
font-size: scale-below(20px, 16px);
}
Sass 語法
@use "sass:math"
/// Divides `$value` by `$ratio` until it's below `$base`.
@function scale-below($value, $base, $ratio: 1.618)
@while $value > $base
$value: math.div($value, $ratio)
@return $value
$normal-font-size: 16px
sup
font-size: scale-below(20px, 16px)
CSS 輸出
sup {
font-size: 12.3609394314px;
}
真值與假值真值與假值 永久連結
在任何允許 `true` 或 `false` 的地方,您也可以使用其他值。值 `false` 和 `null` 是*假值*,這表示 Sass 將它們視為表示錯誤並導致條件失敗。其他所有值都被視為*真值*,因此 Sass 將它們視為 `true` 並導致條件成功。
例如,如果您想檢查字串是否包含空格,您可以直接寫 `string.index($string, " ")`。`string.index()` 函式如果找不到字串則回傳 `null`,否則回傳一個數字。
⚠️ 注意!
某些語言除了 false
和 null
之外,還有其他值被視為假值。但 Sass 並非如此!空字串、空列表和數字 0
在 Sass 中都是真值。