动效决定界面是活的还是硬的。这里的每一段动效都能真实运行;播放器按每段动效实际支持的能力提供暂停、重播、慢速或前后对比,让你看清它是怎么动起来的、该不该动。
23 个概念
只要真实请求未返回就一直保持;但若 300ms 内就返回,跳过骨架屏直接渲染,避免闪烁。
微交互 100~200ms,展开位移类 250~300ms,页面级转场可到 400ms;一律配速度系数便于慢速查看。
高频操作、用户在赶时间的流程、以及 reduced-motion 用户面前——后者的降级不是删动画,是换更安静的反馈。
互斥手风琴:一次只开一项,再点收起
点击标题后内容区在高度方向展开或收起,像手风琴风箱。 关键是用 grid-template-rows 从 0fr 到 1fr 的高度动画, 让内容"推开来"而不是瞬间出现, 同时箭头旋转呼应状态。
一次性爆出,1.5s 抛物线飘落后清理;纸屑不拦截点击
完成关键动作后从一点爆出彩色纸屑飘落,用一次性高能量庆祝"做成了"。 只在里程碑出现:提交成功、任务完成、订阅达成—— 正因为稀有,才有庆祝的分量。
主页面内容保持可见
筛选 / Filters
280ms 材料抽屉曲线;Esc 或遮罩点击关闭;原路滑回
面板从屏幕边缘(常为右侧或底部)滑入并带遮罩,像从抽屉里拉出来。 转场方向即空间隐喻:从边缘滑入表示"叠加的临时层", 关闭时原路滑回,保持心智模型不换。
任务提交成功
一次过冲:cubic-bezier y>1 越过终点再回落
元素到位后不是稳稳停住,而是带一两次越过后回弹的振荡, 像有弹性地"Q 一下"。 给界面注入物理感和俏皮感, 常用于成功状态、奖励时刻或品牌化入场。
🖱 鼠标悬停在按钮上观察光晕 / Hover the buttons(桌面端效果)
鼠标悬停时元素边缘泛出柔和光晕,用外发光阴影或径向渐变沿边框晕开, 颜色多为品牌强调色。相比投影的"物理抬升",光晕暗示的是"能量"与"可交互", 常用于深色界面、游戏感产品与霓虹风格按钮。
经典上浮 / Classic
-4px + shadow
🖱 把鼠标移到卡片上 / Hover the cards(桌面端效果)
鼠标悬停时卡片或按钮轻轻上浮(translateY -2~6px)并加深投影, 像被无形的手托起。最常见的"这个可以点"的桌面端暗示, 成本极低但立刻让页面有层次和呼吸感。
ring / 圆环
dots / 三点
适合瞬时等待(< 1s);结构化内容请用骨架屏
用一个持续旋转的圆环或圆点表示"正在处理"。占用空间极小、语义全球通用, 适合嵌入按钮内、跟随光标或作为局部区块的轻量加载反馈。 它只表达"忙碌",不表达进度多少,也不预告还剩多久。
🖱 在虚线区域内移动鼠标,按钮会被"吸"过去 / Move your cursor inside
鼠标靠近按钮时,按钮像被磁铁吸住一样朝光标方向偏移一小段距离, 离开后弹性归位。偏移量按光标与按钮中心的距离计算,通常限制在 8~20px。 一种高"手感"的桌面端彩蛋交互,常出现在作品集与创意官网。
内容复制两份位移 -50% 无缝循环,匀速不缓动
一条内容带在水平方向匀速循环滚动,首尾无缝衔接。 用于 logo 墙、合作方名单、公告与促销横幅——用"连续流动"表达数量多与不间断, 而不是引导用户逐条读完。
点按打开菜单
同一组线条 rotate/translate/opacity 过渡 300ms,占位不变
一个图标在两种状态间平滑变形,而不是替换—— 最经典是汉堡三横变关闭叉。 用同一组线条的旋转、位移与透明度组合完成, 传达"同一个控件换了状态"。
0
总下载量 / Downloads
0%
好评率 / Satisfaction
ease-out 减速落定;等宽数字防宽度抖动
数字从 0(或旧值)滚动增长到目标值,让计数过程本身表达"数据在增长"。 常用于数据看板大数字、统计区与里程碑("10 万用户")。 数字成为动效的主角,比静态数值更有说服力。
文章列表 / Articles
骨架屏到底多长合适
详情页从右侧滑入(push 进入)
点击按钮观察页面间转场
页面之间切换时,旧页面滑出或淡出、新页面滑入或淡入,让路由跳转 从"硬切"变成一段 200~400ms 的连续运动。方向应与信息层级一致: 进入下级页面向左推入,返回时向右退出,帮助用户建立空间心智模型。
远景 / Far · x0.25
translateY(scrollY × 0.25)
中景 / Mid · x0.55
translateY(scrollY × 0.55)
前景 / Near · x1
translateY(scrollY × 1)
滚动框内观察各层速度差;也可直接滚动
滚动时不同图层以不同速度移动——背景慢、前景快—— 用速度差制造纵深。 是"2D 里伪造 3D"最便宜的手段, 常见于首屏大图与滚动叙事页面。
⌨ 按住按钮不放观察缩放;Tab + Space 同样可触发
用户按下按钮、卡片等可点击元素时,元素轻微缩小(通常 0.95~0.98), 松开后弹回。一个几十毫秒的细节,让界面"手感"立刻从网页变成实体按键。
波纹从真实触点扩散,400ms 放大渐隐;点哪儿哪儿起波
点击位置向外扩散一圈半透明圆形波纹后消散,把"点中了哪里"可视化。 Material Design 的标志性按压反馈, 让无生命的点击立刻获得物理感——像石头落进水面。
滚动容器即可擦洗 — 进度可反向
动画进度绑定滚动位置而非时间:滚到哪、动到哪,可来回擦洗。能做滚动进度条、随滚动展开的叙事与视差层。与滚动显现不同,它不是触发后播完,而是由滚动位置精确擦洗进度。
标题先浮现
描述随后跟上
操作按钮最后出现
真实场景由 IntersectionObserver 触发,进入视口后逐个显现
元素滚动进入视口时才播放淡入、上浮或滑入动画,之前保持隐藏或占位。 把"一次性呈现全部内容"变成"随阅读节奏逐段揭示",让长页面的信息 更有秩序感。通常由 IntersectionObserver 触发,只播一次。
点卡片 → 飞入详情;点收回 → 飞回列表
列表里的缩略图或卡片在打开详情时"飞"成详情页主图—— 同一个元素跨两个视图连续运动, 而不是各自出现。 元素身份在转场中保持连续, 是最强的上下文延续。
过冲弹簧cubic-bezier(0.34, 1.56, 0.64, 1) 冲过终点再回落
用弹簧物理(刚度、阻尼)驱动的运动:可冲过终点再回落稳定,也可临界阻尼稳稳停住。比固定缓动更有质量感与连续性,适合拖拽落位、开关拨动与强调出现。过冲幅度需克制,避免失控感。
设计令牌
12 条更新
组件巡检
3 个待办
可用性测试
报告已出
动效规范
草稿中
无障碍审计
A 级通过
版本发布
v2.4.0
同一 keyframes,仅 animation-delay 交错 90ms;fill-mode both 防闪现
一组元素不一起出现,而是按固定间隔依次淡入或上浮,像点名一样逐个到位。 间隔 40~120ms 即可让列表"有秩序地醒来", 比整块淡入更有生命感,也比真实逐项加载等待感更低。
行遮罩上滑,行间延迟 140ms;可用播放器重播再看一遍
把标题或段落按行、按词逐个显现,而不是整块淡入。文字"被说出来"的节奏感让信息有先后与分量, 常用于落地页首屏大标题、章节开场与滚动叙事, 通常进入视口时触发一次。
滑入 → 停留 3.2s → 反向滑出;从哪边来回哪边去
操作结果以一条短提示从屏幕边缘滑入(常为底部或右上角), 停留数秒后自动滑出。 动效分三段:滑入—停留—滑出, 方向与来源一致——从边缘来,回边缘去。
列表
交叉淡入:旧淡出、新淡入
用浏览器原生 View Transitions API 在页面状态切换时做平滑过渡:旧视图淡出、新视图淡入,关键元素可共享形变。它把状态跳变藏进连续的空间叙事,让"换了一屏"读起来像"移了一步",而不是硬切。
当前分类和列表中没有匹配项,可以扩大搜索范围。