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> ]*
<calc-value> =
<number> |
<dimension> |
<percentage> |
<calc-keyword> |
( <calc-sum> )
<calc-keyword> =
e |
pi |
infinity |
-infinity |
NaN
示例
正變數
abs() 函式可用於確保值始終為正。在以下示例中,CSS 自定義屬性 --font-size 用作 font-size 的值。將此自定義屬性包裝在 abs() 中會將負值轉換為正值。
css
h1 {
font-size: abs(var(--font-size));
}
控制漸變方向角度
您還可以使用 abs() 函式控制漸變方向。在以下示例中,角度為 -45 度時,漸變將從紅色開始並過渡到藍色。透過使用 abs() 使值變為正數,漸變將從藍色開始並過渡到紅色。
css
div {
--deg: -45deg;
background-image: linear-gradient(abs(var(--deg)), blue, red);
}
向後相容的備用方案
在不支援 CSS abs() 函式的瀏覽器中,您可以使用 CSS max() 函式實現相同的效果
css
p {
line-height: max(var(--lh), -1 * var(--lh));
}
我們使用 max() 函式從兩個值的列表中返回最大(最正)值:var(--lh) 或 -1 * var(--lh)。無論 --lh 是正數還是負數,計算的返回值將始終是正數,即絕對值。
規範
| 規範 |
|---|
| CSS 值和單位模組第 4 級 # sign-funcs |
瀏覽器相容性
載入中…