CSS-функция `sign()`
Базовая поддержка Недавно стала доступна
Эта функция работает в последних версиях устройств и браузеров. Возможно, она не будет работать на старых устройствах или в старых версиях браузеров. Она доступна во всех браузерах с июня 2025 года.
sign() — это CSS-функция, которая содержит одно вычисление и возвращает -1, если числовое значение аргумента отрицательное, +1, если числовое значение аргумента положительное, 0⁺, если числовое значение аргумента равно 0⁺, и 0⁻, если числовое значение аргумента равно 0⁻.
Примечание: в то время как abs() возвращает абсолютное значение аргумента, sign() возвращает знак аргумента.
Синтаксис
/* property: sign( expression ) */ top: sign(20vh - 100px);
Параметры
Функция sign(x) принимает только одно значение в качестве параметра.
-
x - Вычисление, результатом которого является число.
Возвращаемое значение
Число, представляющее знак A:
- Если
xположительное, возвращается1. - Если
xотрицательное, возвращается-1. - Если
x— положительный ноль, возвращается0. - Если
x— отрицательный ноль, возвращается-0. - В остальных случаях возвращается
NaN.
Формальный синтаксис
<sign()> = sign( <calc-sum> ) <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]* <calc-product> = <calc-value> [ '*' <calc-value> | '/' <number> ]* <calc-value> = <number> | <dimension> | <percentage> | <calc-constant> | ( <calc-sum> ) <calc-constant> = e | pi | infinity | -infinity | NaN
Примеры
Положение фонового изображения
Например, в свойстве background-position положительные процентные значения преобразуются в отрицательную длину, и наоборот, если фоновое изображение больше области фона. Таким образом, sign(10%) может вернуть 1 или -1 в зависимости от того, как вычисляется процентное значение! (Или даже 0, если оно вычисляется относительно нулевой длины.)
div {
background-position: sign(10%);
}
Направление позиционирования
Ещё один вариант использования — управление position элемента с помощью положительного или отрицательного значения.
div {
position: absolute;
top: calc(100px * sign(var(--value)));
}
Спецификации
| Спецификация |
|---|
| Модуль значений и единиц CSS, уровень 4 # sign-funcs |
Совместимость с браузерами
| Настольные ПК | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | WebView для iOS | |
sign |
138 |
138 |
118 |
122 |
15.4 |
138 |
118 |
91 |
15.4 |
30.0 |
138 |
Нет |
typed_division_produces_unitless_number |
140 |
140 |
Нет |
124 |
26 |
140 |
Нет |
92 |
26 |
30.0 |
140 |
Нет |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/sign