
transitions-dev
热门适用于 Web 应用的生产级 CSS 过渡动画库。适用于实现通知徽章、下拉菜单、弹窗模态框、侧边/抽屉面板展开、页面过渡、卡片缩放、数字弹出、文本切换、图标切换、成功校验勾选、头像组悬停、错误状态抖动、搜索/输入框清空、骨架屏加载、文本微光流光、滑动 Tab、气泡提示(Tooltip)、多行文本错峰渐显、卡片悬停 3D 倾斜、加号变菜单变形动画或折叠面板(Accordion)等场景。触发词包括“添加过渡动画”、“给下拉菜单加动画”、“让弹窗平滑打开”、“切换图标”、“页面滑动”、“交错错峰动画”、“开关过渡”、“加点动画效果”、“淡入淡出切换”、“成功动画”、“表单报错”、“无效抖动”、“悬停浮起”、“头像叠放悬停”、“清空搜索”、“骨架屏”、“加载流光”、“微光文本”、“滑动标签页”、“分段控件”、“气泡提示”、“文本揭示/渐显”、“倾斜卡片”、“3D 悬停倾斜”、“光晕跟随”、“加号转菜单”、“FAB 变形”、“折叠面板”、“可折叠”、“展开/收起”、“折叠内容”。此外还适用于“动效 token”、“扫描硬编码过渡”、“将硬编码时长替换为动效 token”、“动效 token 化”,以及系统命令 transitions reveal、transitions review、transitions apply、transitions refine。
适用于 Web 应用的生产级 CSS 过渡动画库。适用于实现通知徽章、下拉菜单、弹窗模态框、侧边/抽屉面板展开、页面过渡、卡片缩放、数字弹出、文本切换、图标切换、成功校验勾选、头像组悬停、错误状态抖动、搜索/输入框清空、骨架屏加载、文本微光流光、滑动 Tab、气泡提示(Tooltip)、多行文本错峰渐显、卡片悬停 3D 倾斜、加号变菜单变形动画或折叠面板(Accordion)等场景。触发词包括“添加过渡动画”、“给下拉菜单加动画”、“让弹窗平滑打开”、“切换图标”、“页面滑动”、“交错错峰动画”、“开关过渡”、“加点动画效果”、“淡入淡出切换”、“成功动画”、“表单报错”、“无效抖动”、“悬停浮起”、“头像叠放悬停”、“清空搜索”、“骨架屏”、“加载流光”、“微光文本”、“滑动标签页”、“分段控件”、“气泡提示”、“文本揭示/渐显”、“倾斜卡片”、“3D 悬停倾斜”、“光晕跟随”、“加号转菜单”、“FAB 变形”、“折叠面板”、“可折叠”、“展开/收起”、“折叠内容”。此外还适用于“动效 token”、“扫描硬编码过渡”、“将硬编码时长替换为动效 token”、“动效 token 化”,以及系统命令 transitions reveal、transitions review、transitions apply、transitions refine。
Transitions.dev
内置 21 款开箱即用的 CSS 过渡动效,均采用 t-* 选择器命名空间隔离,并基于语义化的 CSS 自定义属性构建。即插即用:直接复制代码片段、绑定文档中说明的 HTML 结构钩子即可完成配置。无任何框架依赖,不含冗余示例代码,且每个动效均内置 prefers-reduced-motion 减弱动画偏好兼容保护。
快速参考
| 过渡动画 | 适用场景 | 参考文档 |
|---|---|---|
| 卡片尺寸调整 | 容器布局状态变更时平滑过渡其宽度或高度。 | 01-card-resize.md |
| 数字弹出 | 数值更新时,每个数字带模糊滑入效果重新进场。 | 02-number-pop-in.md |
| 通知徽章 | 徽章滑入触发元素,并以弹跳效果显现小红点。 | 03-notification-badge.md |
| 文本状态切换 | 文本在原位以上下滑动 + 高斯模糊的过渡效果原地切换。 | 04-text-states-swap.md |
| 下拉菜单 | 打开从触发位置感应展开的下拉菜单。 | 05-menu-dropdown.md |
| 弹窗打开/关闭 | 弹窗对话框以放大方式打开,关闭时以柔和缩小效果淡出。 | 06-modal.md |
| 面板展开 | 面板伴随交叉模糊平滑滑入页面指定区域。 | 07-panel-reveal.md |
| 双页并行/平移 | 两个并列页面间平滑滑动切换(如:列表 ↔ 详情、步骤 1 ↔ 步骤 2)。 | 08-page-side-by-side.md |
| 图标切换 | 同一槽位中的两个图标伴随模糊与缩放淡入淡出交替。 | 09-icon-swap.md |
| 成功勾选 | 组合淡入 + 旋转 + 垂直轻跳 + 描边绘制,反馈操作完成瞬间。 | 10-success-check.md |
| 头像组悬停 | 悬停单行元素时产生距离衰减浮起效果,复位时带有弹簧回弹。 | 11-avatar-group-hover.md |
| 错误抖动反馈 | 分段贝塞尔曲线左右抖动,边框和错误提示信息会在完成后自动复原。 | 12-error-state-shake.md |
| 输入框清空溶解 | 清空文本框内容时,触发飞出+逐字残影溶解效果。 | 13-input-clear-dissolve.md |
| 骨架屏加载与展示 | 占位图呼吸闪烁,加载完成后交叉淡入 + 模糊过渡到真实内容。 | 14-skeleton-reveal.md |
| 微光流光文本 | 在暗色/柔和文本上循环扫过一道高光带(纯 CSS 实现)。 | 15-shimmer-text.md |
| Tab 标签平移滑动 | 在分段控件中,当前选中的高亮胶囊块在选项间平滑滑动。 | 16-tabs-sliding.md |
| 气泡提示显示/隐藏 | 延时淡入 + 放大显现,移出时瞬时消失(纯 CSS 实现)。 | 17-tooltip.md |
| 文本层叠渐显 | 多行文本错峰上升并由模糊转清晰,淡出时柔和无声。 | 18-texts-reveal.md |
| 卡片悬停 3D 倾斜 | 卡片随着指针悬停位置进行 3D 倾斜,并伴随鼠标光晕跟随效果。 | 19-card-tilt.md |
| 加号变菜单变形动画 | 将圆形触发按钮直接形变为其所展开的菜单或面板。 | 20-plus-menu-morph.md |
| 折叠面板展开 | 利用 CSS Grid (grid-template-rows) 平滑展开/收起面板,并伴随箭头翻转。 |
21-accordion.md |
| Toast 轻提示显隐 | Toast 从底部升起,伴随淡入 + 交叉模糊,进场平缓、离场迅速。 | 22-toast.md |
| 点赞按钮动画 | 点赞时爱心缩放放大填充,并爆发粒子散开效果。 | 23-like-button.md |
| “了解更多”悬停动效 | 鼠标悬停时右箭头滑动并张开变长。 | 24-learn-more-hover.md |
| 复选框选中动画 | 先填充选框背景,随后动态绘制勾选路径。 | 25-checkbox-check.md |
| 老虎机翻页数字计数器 | 如老虎机轮盘般旋转数字滚轮,伴随垂直方向动态模糊。 | 26-spinning-counter.md |
| 开关切换动画 | 滑块平移时带有双重回弹过冲效果。 | 27-toggle.md |
匹配决策规则
当用户提出动画需求时,优先匹配可见的 UI 元素类型,其次匹配动作动词:
- 触发元素 + 上方浮动小红点 → 通知徽章(notification badge)。
- 触发元素 + 从中展开的图层 → 下拉菜单 dropdown(挂载锚点、感知源位置)或 弹窗模态框 modal(居中显示、无锚点)。
- 滑入页面特定区域的面板图层 → 面板展开(panel reveal)。
- 双屏/双界面平移,如:列表 ↔ 详情、步骤 1 ↔ 步骤 2 → 双页并行/平移(page side-by-side)。
- 元素宽高发生变更 → 卡片尺寸调整(card resize)。
- 元素内部的文本内容原地更新 → 文本状态切换(text states swap)。
- 同一位置上两个图标交替 → 图标切换(icon swap)。
- 数值发生变化 → 数字弹出(number pop-in)。
- 确认 / 成功 / “已完成” 节点(如勾选图标、支付成功、文件上传完毕) → 成功勾选(success check)。
- 鼠标悬停在水平排列的一排元素上(如头像组、标签纸片、分段按钮、Tag 标签) → 头像组悬停(avatar group hover)。
- 表单校验报错 / “输入有误” 反馈(如无效输入框、PIN 码错误、名称重复) → 错误抖动反馈(error state shake)。
- 清空文本框内容(如搜索框 × 清除按钮、筛选重置) → 输入框清空溶解(input clear with dissolve)。
- 先显示占位图、后淡入切换为真实内容(如列表行、卡片、个人信息头部) → 骨架屏加载与展示(skeleton loader and reveal)。
- “进行中 / 处理中”需要呈现灵动感的文本(如加载中文案、流式输出状态) → 微光流光文本(shimmer text)。
- 包含滑动高亮指示块的水平互斥选项组(如视图切换器、分段控件、筛选 Tab) → Tab 标签平移滑动(tabs sliding)。
- 悬停/聚焦在触发元素上弹出的提示气泡(如图标 Tooltip、信息气泡) → 气泡提示显示/隐藏(tooltip open / close)。
- 主标题 + 副标题等层叠文案有节奏地入场(如 Hero 区域文案、空状态提示、引导步骤) → 文本层叠渐显(texts reveal)。
- 悬停时随着鼠标指针产生 3D 互动响应的卡片(如商品卡片、封面图、会员卡,带/不带光晕效果) → 卡片悬停 3D 倾斜(card hover tilt)。
- 圆形触发按钮直接形变为其展开的图层(如加号 FAB 按钮展开为菜单/面板、撰写按钮拉伸扩展) → 加号变菜单变形动画(plus → menu morph)。若该图层是独立浮层且仅是从触发点膨胀弹出,请改用下拉菜单(menu dropdown)。
- 带可折叠主体、高度可展开/收起的标题头(如设置分组、常见问题 FAQ、筛选面板、“展开更多”、折叠组件) → 折叠面板展开(accordion expand)。
- 无明确匹配项 → 降级使用
transitions reveal列出清单供用户自行选择,不要强行瞎猜。
如果有两个过渡效果同时适用,除非设计稿明确要求更重的视觉组件,否则优先选择轻量方案(如:优先卡片尺寸调整而非面板展开、优先下拉菜单而非全屏弹窗、优先成功勾选而非全屏弹窗庆祝动画)。成功勾选仅包含动画效果 —— 如果还需要从 Loading 加载圈切换到勾选图标,请将其与**图标切换(icon swap)**配合使用。
指令列表
除了直接的动画请求外,本 Skill 还要识别四个带有命名空间前缀的指令。每个命令均以 transitions 开头,避免与同项目中安装的其他 Skill 指令发生命名冲突。
transitions reveal — 列出所有过渡动效
触发短语: transitions reveal、“显示所有过渡动效”、“列出所有动画”、“这个 skill 有哪些过渡动画”、“展示动效目录”。
执行行为: 以带编号的纯文本列表形式输出 21 个过渡动画 —— 包含名称、单行功能简介及对应的参考文件名。直接复用上方 ## 快速参考 中的表格行内容,请勿自行编造文案。此操作无需读取项目代码。
transitions review — 审查项目动画契合点
触发短语: transitions review、“审查我的项目”、“检查项目里的动画”、“项目里哪里可以用 transitions.dev”、“寻找适合这个 skill 的地方”。
执行行为:
- 检索工作区中的关键迹象:
transition:声明、@keyframes、样式文件中硬编码的ms/s时长,以及符合决策规则模式的组件(如弹窗、下拉菜单、徽章、搜索输入框、骨架屏、Tab 标签页、Tooltip 气泡提示等)。 - 针对每个匹配点,结合决策规则评估并匹配出最契合的一款过渡动效。
- 输出按文件分组的编号列表:
path/to/Component.tsx:L42— 看起来是下拉菜单展开,建议使用 menu-dropdown (05-menu-dropdown.md)。- 跳过已使用
t-*命名空间类名的过渡动画。
- 切勿直接修改任何代码。末尾输出:“在任意行运行
transitions apply即可应用推荐的过渡动画。”
transitions apply — 应用最契合的过渡动画
触发短语: transitions apply、“在这里应用过渡动画”、“添加合适的动画”、“在这里安装 transitions-dev”、“修复这个元素的动画”。
执行行为:
- 读取上下文:当前打开的文件、离光标最近的元素以及周边的 CSS / JSX。若用户显式指定了过渡动效名称(例如
transitions apply menu-dropdown),则直接使用该指定动效。 - 基于该上下文运行
## 匹配决策规则,精确挑选出 一款 过渡动画。若有两款皆适用,优先选用开销较低的方案(遵循相同的仲裁规则)。 - 给出单行确认提议:“建议在此处应用 menu-dropdown,因为该元素挂载于触发点并向外展开。确认是否安装?”
- 用户确认后,严格按
## 输出格式中的五步流程执行(根变量块、代码片段、HTML 钩子、减弱动画兼容保护,以及必要的 JS 编排逻辑)。 - 若无法确定唯一最佳动效,则降级执行
transitions reveal并请用户手动挑选。
transitions refine — 使用动效 token 重构自定义动画
触发短语: transitions refine、“优化我的过渡动画”、“扫描临时/硬编码动画”、“将硬编码时长替换为动效 token”、“动效 token 化”、“微调时长/贝塞尔曲线”、“审查自定义 keyframes”、“统一动画节奏”、“对齐动效 token”。
执行行为:
- 扫描全项目(不仅限于独立样式表,还包含内联
style=、CSS-in-JS、styled-components、<style>标签块,以及 Tailwind 任意值如duration-[300ms])中的自定义动效:包括transition/animation简写与单项属性、自定义@keyframes动画块、硬编码时长(…ms/…s)、缓动曲线(cubic-bezier(...)或预设关键字)、平移距离(px)、scale(...)缩放值以及blur(...)模糊度。 - 结合周围的选择器/组件上下文以及
## 匹配决策规则,推断出每个动画的具体用途(如弹窗关闭、下拉菜单打开、Tooltip 显示、徽章显现、文本展开、页面滑动、震动抖动等)。针对@keyframes块,分析调用它的animation规则并判定 keyframes 本身的时长与缓动效果。 - 决策的核心依据在于“实际用途”,而非“原始数值”。 在
## 动效 token表中查找推断出的用途,仅当场景用途一致时,才推荐对应的 token。例如:300ms 的弹窗关闭动画应映射到--duration-quick,因为两者的适用场景都是“弹窗关闭”,哪怕具体毫秒数值不同。若某个数值的用途未能匹配任何 token





