log()
log() CSS 函数是一个指数函数,它返回一个数字的对数。
对数是指数运算的逆运算。它是固定底数需要被提高到的次数,以便产生作为第一个参数传递的数字。
在 CSS 中,当只传递一个参数时,使用自然对数 e,或近似值 2.7182818,尽管底数可以通过可选的第二个参数设置为任何值。
语法
css
/* A <number> value */
width: calc(100px * log(7.389)); /* 200px */
width: calc(100px * log(8, 2)); /* 300px */
width: calc(100px * log(625, 5)); /* 400px */
参数
log(value [, base]?) 函数接受两个用逗号分隔的值作为其参数。
返回值
当定义了 base 时,value 的对数。
当未定义 base 时,value 的自然对数(底数 e)。
正式语法
<log()> =
log( <calc-sum> , <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
示例
在对数刻度上使用 log() 函数
此示例演示了如何使用 log() 函数通过对数刻度来可视化数据值。此示例中每个条形的宽度相对于其在以 10 为底的对数刻度上的数据值。在每个元素上,其值被分配给一个名为 --value 的 CSS 自定义属性,然后由 .bar 类用于计算其宽度。
HTML
html
<div class="bar" style="--value: 50">50</div>
<div class="bar" style="--value: 100">100</div>
<div class="bar" style="--value: 500">500</div>
<div class="bar" style="--value: 10000">10,000</div>
<div class="bar" style="--value: 2000000">2,000,000</div>
CSS
css
.bar {
width: calc(log(var(--value), 10) * 2em);
}
结果
规范
| 规范 |
|---|
| CSS 值和单位模块第 4 级 # 指数函数 |
浏览器兼容性
加载中…