注意:由于该内容的更新性以及其目前作为工作草案的状态,本文所描述的许多功能可能会发生变化,并且并非所有浏览器都能支持(有些是可以的!)。
在2024年9月13日,CSS工作组发布了CSS值和单位模块第5级的首个公共工作草案。这是对前一版本的扩展,包含了一些有趣的新增功能。
一些不久前还不可想象的特性正在逐步进入规范:随机值、将属性作为任何属性中的值使用、在计算中使用顺序……这一切看起来都很有前景。
这些功能有一个共同点:它们简化了CSS代码。以前需要多个规则或变通解决方案的事情,现在只需一两行CSS即可实现。正如我所说,这一切都很有希望。以下是新变化的列表(更多细节见下文):
attr()
函数的变化:现在可以与任何属性和任何CSS属性一起使用(不仅仅是内容)。calc-size()
函数:在计算中使用内在值,如 auto 或 min-content。- 新的
first-valid()
函数,以避免自定义属性无效值带来的问题。 - 新的 *-mix() 系列函数,采用新的比率表示法。
- 新的 *-progress() 系列函数,用于计算范围内或媒体/容器内的进度比例。
- 随机化功能:新的
random()
和random-item()
函数,用于从范围或列表中返回随机值(终于来了!) - 新的
sibling-count()
和sibl