已加载全部内容

Safari 预览版支持 CSS random()

链接
分类
文章开发2025-08-25 08:19:47
简介

正如字面意义上的,非常方便的 CSS 计算函数。介绍这个新特性已有几篇文章,不过依然推荐 WebKit 的博客,讲解生动易懂。

相似条目

笔记

Beta

本文介绍的 CSS random() 函数采用 random(min, max, step) 语法,可在 CSS 属性中直接生成随机数值,支持长度、百分比、角度等单位。文章通过星空、网格矩形、照片堆叠和转盘等示例展示其在布局、动画和颜色中的应用,并说明命名标识与 element-shared 两种随机值共享方式。目前该函数已在 WebKit 中实现,但规范仍在讨论中。

文章聚焦 CSS 语言新增的 random() 功能,解释其如何在样式表内完成随机布局、颜色和动画,而无需 JavaScript。文中对比了不同随机共享模式,并给出大量实际代码示例,展示 CSS 在动态内容生成方面的扩展能力。

本文指出 CSS 自定义属性与 random() 结合时,因文本替换特性需使用命名标识(如 --random-star-size)才能复用同一随机值。示例中通过 --star-size 实现星体大小与阴影模糊的联动,解释了为何直接 var() 无法保留随机结果的问题。

在星空示例中,文章使用 OKLCH 色彩空间配合 random() 为星星生成随机色相的柔和光晕。代码中通过 drop-shadow 层叠白光与彩色光,并结合 hard-light 混合模式,展示了 random() 在色彩设计中的实际应用效果。

本文中CSS Grid用于随机放置矩形示例。通过将页面划分为100行100列的网格,结合random()为grid-area生成随机行列值,实现矩形在网格中的随机定位与色彩变化,展示random()与布局工具的结合。

本文在幸运轮示例中使用CSS Keyframe Animations结合random()。@keyframes中通过random(2turn, 10turn, 20deg)生成最终旋转角度,实现转盘落地位置的不可预测性,展示CSS内随机性与交互动画的完整集成。

本文中shape()用于四角星的clip-path定义。通过指定形状坐标创建星芒轮廓,配合random()控制大小和element-shared旋转角度,使四角星与圆形星星形成对比,增强星空视觉层次。

根据本文,目前可在 Safari Technology Preview 中直接测试 CSS random() 函数。作者鼓励开发者尝试星空和转盘等示例,并通过 Bluesky 或 Mastodon 提交关于共享机制、命名及用例的反馈,以影响最终规范走向。

该分类暂无内容

Jon Davis是本文主要作者,与Jen Simmons、Tim Nguyen共同撰写。他提供了星空、照片堆叠和幸运轮等多个random()演示,并通过社交媒体收集开发者反馈,推动CSS random()规范完善。

Jen Simmons作为WebKit evangelist参与本文撰写。她与Jon Davis、Tim Nguyen共同介绍random()功能,并负责通过Bluesky和Mastodon渠道收集用户对共享随机值机制及命名建议的意见。

Tim Nguyen是本文合著者,提供了随机矩形和幸运轮的CodePen示例。他展示了random()与CSS Grid、keyframe动画的结合用法,验证了不同random()共享方式在实际布局中的效果差异。

该分类暂无内容

本文由 WebKit 团队发布,详细说明了 CSS random() 函数的实现细节与使用场景。WebKit 提供了星空、照片堆叠等演示案例,并通过 Safari Technology Preview 让开发者立即体验该功能,同时收集反馈以完善规范。

本文指出 CSS Working Group 正在针对 random() 函数规范展开持续讨论,目前仍有若干开放问题,焦点在于该实现方式是否能最佳满足开发者需求。文章强调 Safari Technology Preview 已支持此功能,但最终规范方向仍需 Web 开发者社区反馈来决定,包括共享随机值表达方式和潜在用例。

可左右滑动查看

标题占位
https://example.com/path
描述占位
- · - · 添加于 - -