sign()
sign()
CSS 函数 包含一个计算,如果参数的数值为负,则返回 -1
,如果参数的数值为正,则返回 +1
,如果参数的数值为 0⁺,则返回 0⁺
,如果参数的数值为 0⁻,则返回 0⁻
。
注意:虽然 abs()
返回参数的绝对值,但 sign()
返回参数的符号。
语法
css
/* property: sign( expression ) */
top: sign(20vh - 100px);
参数
sign(x)
函数只接受一个值作为其参数。
x
-
解析为数字的计算。
返回值
表示 A
符号的数字
- 如果
x
为正,则返回1
。 - 如果
x
为负,则返回-1
。 - 如果
x
为正零,则返回0
。 - 如果
x
为负零,则返回-0
。 - 否则,返回
NaN
。
正式语法
示例
背景图像位置
例如,在 background-position
中,如果背景图像大于背景区域,则正百分比解析为负长度,反之亦然。因此,sign(10%)
可能会返回 1
或 -1
,具体取决于百分比的解析方式!(或者甚至返回 0
,如果它解析为零长度。)
css
div {
background-position: sign(10%);
}
位置方向
另一个用例是控制元素的 position
。正值或负值。
css
div {
position: absolute;
top: calc(100px * sign(var(--value)));
}
规范
规范 |
---|
CSS 值和单位模块级别 4 # sign-funcs |
浏览器兼容性
BCD 表格仅在浏览器中加载