tan()

Baseline 已廣泛支援

此功能已成熟,並可在許多裝置和瀏覽器版本上執行。自 2023 年 3 月以來,它已在各種瀏覽器中可用。

tan() CSS 函式是一個三角函式,它返回一個數字的正切值,該值介於 −infinityinfinity 之間。該函式包含一個單一計算,透過將引數結果解釋為弧度,必須解析為 <number><angle>

語法

css
/* Single <angle> values */
width: calc(100px * tan(45deg));
width: calc(100px * tan(0.125turn));
width: calc(100px * tan(0.785398163rad));

/* Single <number> values */
width: calc(100px * tan(0.5773502));
width: calc(100px * tan(1.732 - 1));

/* Other values */
width: calc(100px * tan(pi / 3));
width: calc(100px * tan(e));

引數

tan(angle) 函式只接受一個值作為其引數。

angle

解析為 <number><angle> 的計算。當指定無單位數字時,它們被解釋為弧度數,表示一個 <angle>

返回值

angle 的正切值將始終返回一個介於 −∞+∞ 之間的數字。

  • 如果 angleinfinity-infinityNaN,則結果是 NaN
  • 如果 angle0⁻,結果為 0⁻
  • 如果 angle 是漸近線值之一(例如 90deg270deg 等),結果明確未定義。作者不得依賴 tan() 為這些輸入返回任何特定值。

正式語法

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

示例

繪製平行四邊形

tan() 函式可用於繪製具有給定邊界框的平行四邊形。

HTML

html
<div class="parallelogram"></div>

CSS

css
.parallelogram {
  --w: 400;
  --h: 200;
  --angle: 30deg;
  position: relative;
  width: calc(1px * var(--w));
  height: calc(1px * var(--h));
}
.parallelogram::before {
  content: "";
  position: absolute;
  width: calc(100% - 100% * var(--h) / var(--w) * tan(var(--angle)));
  height: 100%;
  transform-origin: 0 100%;
  transform: skewX(calc(0deg - var(--angle)));
  background-color: red;
}

結果

規範

規範
CSS 值和單位模組第 4 級
# trig-funcs

瀏覽器相容性

另見