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 */
参数
返回值
当定义了 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 值和单位模块 Level 4 # exponent-funcs |
浏览器兼容性
BCD 表格仅在浏览器中加载