Spec-Zone.ru › CSS

abs()

Ограниченная доступность

Эта функция не относится к Baseline, так как она не работает во всех распространённых браузерах.

  • Узнать больше
  • Показать полную совместимость
  • Отправить отзыв

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

Синтаксис

/* property: abs(expression) */
width: abs(20% - 100px);

Параметры

Функция abs(x) принимает только одно значение в качестве параметра.

x

Вычисление, которое разрешается в число.

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

Абсолютное значение x.

  • Если числовое значение x положительно или 0⁺, возвращается x.
  • В противном случае, возвращается -1 * x.

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

<abs()> = 
abs( <calc-sum> )

<calc-sum> =
<calc-product> [ [ '+' | '-' ] <calc-product> ]*

<calc-product> =
<calc-value> [ [ '*' | '/' ] <calc-value> ]*

<calc-value> =
<number> |
<dimension> |
<percentage> |
<calc-keyword> |
( <calc-sum> )

<calc-keyword> =
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 Значения и единицы Модуль Level 4
# sign-funcs

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

Рабочий стол Мобильный
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
abs Нет Нет 118 Нет 15.4 Нет 118 Нет 15.4 Нет Нет

См. также

  • sign()

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/abs

Spec-Zone.ru

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