运算符
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); } |