布尔值(Booleans)

布尔值是逻辑值 true false 。除了它们的文字形式之外,布尔值还由相等和关系运算符以及许多内置函数(如: math.comparable() map.has-key() )返回。

@use "sass:math";

@debug 1px == 2px; // false
@debug 1px == 1px; // true
@debug 10px < 3px; // false
@debug math.comparable(100px, 3in); // true

您可以使用布尔运算符来处理布尔值。如果两边都是 true ,则 and 运算符返回 true 。如果一侧为 true ,则 or 运算符返回 true not 运算符返回与单个布尔值相反的值。

@debug true and true; // true
@debug true and false; // false

@debug true or false; // true
@debug false or false; // false

@debug not true; // false
@debug not false; // true


使用布尔值

您可以使用布尔值,来选择是否,在 Sass 中执行各种操作。如果其参数是 true ,则该 @if 规则评估样式块:

scss 语句 css 语句
@mixin avatar($size, $circle: false) {
  width: $size;
  height: $size;

  @if $circle {
    border-radius: $size / 2;
  }
}

.square-av {
  @include avatar(100px, $circle: false);
}
.circle-av {
  @include avatar(100px, $circle: true);
}
.square-av {
  width: 100px;
  height: 100px;
}

.circle-av {
  width: 100px;
  height: 100px;
  border-radius: 50px;
}

if() 函数在其参数为 true 时返回一个值,在其参数为 false 时返回另一个值:

@debug if(true, 10px, 30px); // 10px
@debug if(false, 10px, 30px); // 30px


真与假

在任何允许 true false 的地方,您也可以使用其他值。 false null 的值是falsey,这意味着 Sass 认为它​​们表示错误并导致条件失败。其他所有值都被认为是真实的,因此 Sass 认为它​​们的工作方式类似 true 并导致条件成功。

例如,如果要检查字符串是否包含空格,则只需编写 string.index($string," ") 。如果未找到该字符串,则该 string.index() 函数,返回 null ,否则返回一个数字。

⚠️注意!
一些语言认为更多的值是虚假的,而不仅仅是 false null 。Sass 不是其中一种语言!空字符串、空列表和数字 0 ,在 Sass 中都是真值。

上篇: 地图(Maps)

下篇: null 值