条件语句

最后更新于:2022-04-01 10:47:58

你可能早已知晓,Sass 通过 `@if` 和 `@else` 指令提供了条件语句。除非你的代码中有偏复杂的逻辑,否则没必要在日常开发的样式表中使用条件语句。实际上,条件语句主要适用于库和框架。 无论何时,如果你感觉需要它们,请遵守下述准则: * 除非必要,不然不需要括号; * 务必在 `@if` 之前添加空行; * 务必在左开大括号(`{`)后换行; * `@else` 语句和它前面的右闭大括号(`}`)写在同一行; * 务必在右闭大括号(`}`)后添加空行,除非下一行还是右闭大括号(`}`),那么就在最后一个右闭大括号(`}`)后添加空行。 ~~~ // Yep @if $support-legacy { // ... } @else { // ... } // Nope @if ($support-legacy == true) { // ... } @else { // ... } ~~~ 测试一个错误值时,通常使用 `not` 关键字而不是比较与 `false` 或 `null` 等值。 ~~~ // Yep @if not index($list, $item) { // ... } // Nope @if index($list, $item) == null { // ... } ~~~ 通常将变量置于语句的左侧,而将结果置于右侧。如果使用相反的顺序,通常会增加阅读难度,特别是对于没有经验的开发者。 ~~~ // Yep @if $value == 42 { // ... } // Nope @if 42 == $value { // ... } ~~~ 当使用条件语句并在一些条件下有内联函数返回不同结果时,始终要确保最外层函数有一个 `@return` 语句。 ~~~ // Yep @function dummy($condition) { @if $condition { @return true; } @return false; } // Nope @function dummy($condition) { @if $condition { @return true; } @else { @return false; } } ~~~ 如果你喜欢 Sass Guidelines,请支持它 [ 支持 Sass Guidelines](https://gum.co/sass-guidelines)
';