Spec-Zone.ru › CSS

`abs()` CSS function

Baseline Newly available

This feature works across the latest devices and browser versions. This feature might not work in older devices or browser versions. It's been available across browsers since June 2025.

The abs() CSS function returns the absolute value of the argument, as the same type as the input.

Syntax

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

Parameters

The abs() function accepts one parameter.

<calc-sum>
An expression or calculation that resolves to a <number>, a <dimension>, a <percentage> or a <calc-keyword>.

Return value

The absolute value of <calc-sum>.

  • If <calc-sum>'s numeric value is positive or 0⁺, the function returns <calc-sum>.
  • Otherwise, it returns -1 * <calc-sum>.

Formal syntax

<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

Examples

Positive variables

The abs() function can be used to ensure that a value is always positive. In the following example a CSS custom property --font-size is used as the value of font-size. Wrapping this custom property in abs() will convert a negative value to a positive one.

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

Control gradient angle of direction

You can also control the gradient direction using abs() function. In the following example, with an angle of -45deg the gradient would start red and transition to blue. By using abs() to make the value positive, the gradient will start blue and transition to red.

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

Backwards compatible fallback

In browsers that lack support for CSS abs() function, you can use the CSS max() function to achieve the same result:

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

We use the max() function to return the largest (most positive) value from a list of two values: var(--lh) or -1 * var(--lh). Irrespective of whether --lh is positive or negative, the calculated return value will always be positive, that is, an absolute number.

Specifications

Specification
CSS Values and Units Module Level 4
# sign-funcs

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS
abs
138
138
118
122
15.4
138
118
91
15.4
30.0
138
15.4

See also

  • 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