exp()
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>
,表示 enumber,它是计算 e
的 number
次幂的结果。
- 如果
number
是-Infinity
,结果是0
。 - 如果
number
是0
,结果是1
。 - 如果
number
是1
,结果是e
(即2.718281828459045
)。 - 如果
number
是Infinity
,结果是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 级 # 指数函数 |
浏览器兼容性
加载中…