exp()

Baseline 2023
新推出

自 ⁨2023 年 12 月⁩起,此功能可在最新的裝置和瀏覽器版本上使用。此功能可能無法在較舊的裝置或瀏覽器上使用。

exp() CSS 函式是一個指數函式,它接受一個數字作為引數,並返回數學常數 e 乘以給定數字的冪。

數學常數 e 是自然對數的底,大約等於 2.718281828459045

exp(number) 函式包含一個計算,該計算返回與 pow(e, number) 相同的值。

語法

css
/* A <number> value */
width: calc(100px * exp(-1)); /* 100px * 0.367879441171442 = 36.8px */
width: calc(100px * exp(0)); /* 100px * 1 = 100px */
width: calc(100px * exp(1)); /* 100px * 2.718281828459045 = 271.8px */

引數

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

數字

一個解析為 <number> 的計算。表示要被 e 的冪次方提升的值。

返回值

返回一個非負的 <number>,表示 enumber,它是計算 enumber 次冪的結果。

  • 如果 number-Infinity,結果是 0
  • 如果 number0,結果是 1
  • 如果 number1,結果是 e(即 2.718281828459045)。
  • 如果 numberInfinity,結果是 Infinity

正式語法

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

示例

旋轉元素

exp() 函式可以用於 旋轉 元素,因為它返回一個 <number>

HTML

html
<div class="box box-1"></div>
<div class="box box-2"></div>
<div class="box box-3"></div>
<div class="box box-4"></div>
<div class="box box-5"></div>

CSS

css
div.box {
  width: 100px;
  height: 100px;
  background: linear-gradient(orange, red);
}
div.box-1 {
  transform: rotate(calc(1turn * exp(-1))); /* 0.3678794411714423turn */
}
div.box-2 {
  transform: rotate(calc(1turn * exp(-0.75))); /* 0.4723665527410147turn */
}
div.box-3 {
  transform: rotate(calc(1turn * exp(-0.5))); /* 0.6065306597126334turn */
}
div.box-4 {
  transform: rotate(calc(1turn * exp(-0.25))); /* 0.7788007830714049turn */
}
div.box-5 {
  transform: rotate(calc(1turn * exp(0))); /* 1turn */
}

結果

按固定比例縮放標題

exp() 函式對於像 CSS 模組化縮放這樣的策略很有用,它透過固定比例將頁面上的所有字型大小相互關聯起來。

HTML

html
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
<h5>Heading 5</h5>
<h6>Heading 6</h6>

CSS

css
h1 {
  font-size: calc(1rem * exp(1.25)); /* 3.4903429574618414rem */
}
h2 {
  font-size: calc(1rem * exp(1)); /* 2.718281828459045rem */
}
h3 {
  font-size: calc(1rem * exp(0.75)); /* 2.117000016612675rem */
}
h4 {
  font-size: calc(1rem * exp(0.5)); /* 1.6487212707001282rem */
}
h5 {
  font-size: calc(1rem * exp(0.25)); /* 1.2840254166877414rem */
}
h6 {
  font-size: calc(1rem * exp(0)); /* 1rem */
}

結果

規範

規範
CSS 值和單位模組第 4 級
# 指數函式

瀏覽器相容性

另見