运算符

Sass 支持一些操作符对处理不同值有用的方法。这些包括标准的数学运算符,如 + * ,以及各种其他类型的运算符:

  • == != ,用于检查两个值是否相同。
  • + - * / % ,对数字具有通常的数学含义,具有与科学数学中的单位使用相匹配的单位的特殊行为。
  • > >= < >= ,检查两个数是否大于或小于另一个数。
  • and or not ,具有通常的布尔行为。除 false null 外,Sass将每个值都视为 true
  • + - / ,可用于连接字符串。
⚠️注意!
在 Sass 历史的早期,它增加了对颜色数学运算的支持。这些操作分别对每种颜色的 RGB 通道进行操作,因此添加两种颜色会产生一种颜色,其红色通道的总和作为其红色通道,依此类推。
这种行为不是很有用,因为它逐通道的 RGB 算法与人类感知颜色的方式不太相符。添加了更有用的颜色函数,并且不推荐使用颜色操作。LibSass 和 Ruby Sass 仍然支持它们,但它们会产生警告,强烈建议用户避免使用它们。


操作顺序

Sass 有一个非常标准的操作顺序,从最紧到最松:

  • 一元运算符: not + - /
  • * / %
  • + - ,运算符。
  • > >= < <= ,运算符。
  • == != ,运算符。
  • and ,运算符。
  • or ,运算符。
  • = ,操作符。
@debug 1 + 2 * 3 == 1 + (2 * 3); // true
@debug true or false and false == true or (false and false); // true


括号

您可以使用括号显式控制操作的顺序。括号内的操作总是在括号外的任何操作之前进行计算。括号甚至可以嵌套,在这种情况下,最里面的括号将首先被计算。

@debug (1 + 2) * 3; // 9
@debug ((1 + 2) * 3 + 4) * 5; // 65


单等于

Sass 支持一个 = 只允许在函数参数中使用的特殊运算符,它只创建一个不带引号的字符串,其两个操作数由 = .这是为了向后兼容非常古老的 IE-only 语法。

scss 语句 css 语句
.transparent-blue {
  filter: chroma(color=#0000ff);
}
.transparent-blue {
  filter: chroma(color=#0000ff);
}