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