exp()

基线 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 = 36px */
width: calc(100px * exp(0)); /* 100px * 1 = 100px */
width: calc(100px * exp(1)); /* 100px * 2.718281828459045 = 217px */

参数

exp(number) 函数只接受一个值作为其参数。

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() 函数可用于 rotate 元素,因为它返回一个 <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
# 指数函数

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅