概览
Sass 支持许多有用的运算符来处理不同的值。这些包括标准的数学运算符,如 + 和 *,以及用于各种其他类型的运算符:
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 == 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
@debug (1 + 2) * 3 // 9
@debug ((1 + 2) * 3 + 4) * 5 // 65
单个等号
Sass 支持一个特殊的 = 运算符,它只允许在函数参数中使用,它只是创建一个不带引号的字符串,其两个操作数用 = 分隔。它的存在是为了向后兼容非常旧的仅限 IE 的语法。
.transparent-blue {
filter: chroma(color=#0000ff);
}
.transparent-blue
filter: chroma(color=#0000ff)
.transparent-blue {
filter: chroma(color=#0000ff);
}