让所有浏览器用上 CSS random():一个硬核 Polyfill
来源: css-tricks.com — 2026-08-31
概述
2025 年底 Safari 成为首个支持 CSS random() 的浏览器,这让网页可以在不依赖 JavaScript 的情况下实现受控的随机布局,比如彩带特效、微妙的页面变化。但半年后其他浏览器仍无明确支持时间表,作者 Lee Meyer 决定动手写一个 polyfill。他坦承这条路非常难走:random() 的语法因随机缓存、键控语义、基值与区间选项而异常复杂,且规范还处于「早期探索、预计重大破坏性变更」的编辑器草案阶段,CSS polyfill 本身又是个雷区。文章展示了如何应对这些障碍,把随机性以声明式方式带进 CSS。
核心要点
- Safari 于 2025 年底率先支持 CSS random(),开启声明式随机布局的可能
- 随机性的实际需求来自项目中的彩带特效,最终因定制需求放弃 JS 插件自研实现
- random() 语法因随机缓存与键控语义、基值与区间选项而异常复杂
- 规范仍是「早期探索阶段」的编辑器草案,预计会有重大破坏性变更
- CSS polyfill 本身充满陷阱,作者坦言这是「特别疯狂的人」才会尝试的事
金句
网页每次落定都处于微妙流动的状态,就像你不能两次踏入同一条河流。
👍 0
👎 0
返回 Lobsters 首页