Spec-Zone.ru › CSS

Функция CSS `abs()`

Базовый уровень Недавно доступна

Эта функция работает в последних версиях браузеров и на современных устройствах. В старых версиях браузеров и на старых устройствах она может не работать. Она доступна во всех браузерах с июня 2025 года.

abs() CSS-функция возвращает абсолютное значение аргумента того же типа, что и входное значение.

Синтаксис

/* abs( <calc-sum> ) */
abs(20% - 100px)
abs(var(--gradientAngle))

Параметры

Функция abs() принимает один параметр.

<calc-sum>
Выражение или вычисление, результатом которого является <number>, <dimension>, <percentage> или <calc-keyword>.

Возвращаемое значение

Абсолютное значение <calc-sum>.

  • Если числовое значение <calc-sum> положительное или равно 0⁺, функция возвращает <calc-sum>.
  • В противном случае она возвращает -1 * <calc-sum>.

Формальный синтаксис

<abs()> = 
  abs( <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

Примеры

Положительные переменные

Функцию abs() можно использовать, чтобы гарантировать, что значение всегда будет положительным. В следующем примере пользовательское свойство CSS --font-size используется в качестве значения font-size. Обёртывание этого пользовательского свойства в abs() преобразует отрицательное значение в положительное.

h1 {
  font-size: abs(var(--font-size));
}

Управление направлением градиента

Также можно управлять направлением градиента с помощью функции abs(). В следующем примере при угле -45deg градиент будет начинаться с красного цвета и переходить к синему. Использование abs() для получения положительного значения изменит направление: градиент будет начинаться с синего цвета и переходить к красному.

div {
  --deg: -45deg;
  background-image: linear-gradient(abs(var(--deg)), blue, red);
}

Обратная совместимость

В браузерах, не поддерживающих функцию CSS abs(), можно использовать функцию CSS max() для получения того же результата:

p {
  line-height: max(var(--lh), -1 * var(--lh));
}

Мы используем функцию max(), чтобы вернуть наибольшее (самое положительное) значение из двух: var(--lh) или -1 * var(--lh). Независимо от того, является ли --lh положительным или отрицательным, вычисленное возвращаемое значение всегда будет положительным, то есть абсолютным числом.

Спецификации

Спецификация
Модуль значений и единиц CSS, уровень 4
# sign-funcs

Совместимость с браузерами

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android WebView для iOS
abs
138
138
118
122
15.4
138
118
91
15.4
30.0
138
15.4

См. также

  • sign()

© 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/abs

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API