关于 exit-animations
这项设计技能将 Disney 的 12 条动画原理用于 UI 出场动画,提供常见元素的时长与缓动建议,以及退出和列表项收缩的 CSS 模式。
主要功能
- 01基于 12 条原理的退出指导
- 02按 UI 元素提供时长建议
- 03缓动与运动轨迹指导
- 04退出和收缩的 CSS 模式
适用场景
- 01设计工具提示和下拉菜单的关闭动画
- 02制作模态框和 toast 的退出动画
- 03为列表项移除设计分阶段收缩
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dylantarre/ animation-principles --skill exit-animations安装后在 Claude Code 中输入/exit-animations确认已加载。
详细介绍
退出动画
应用迪士尼 12 条动画原则,让元素从视图中消失。
原则应用
挤压与拉伸:退出时缩小到 95-98%。元素离开时略微压缩。
预备动作:离开前短暂停顿或微小移动。50ms 的迟疑让退出动作更自然。
演出布局:朝合理的方向退出。删除的项目向下落,被关闭的模态框缩回原点,侧边栏返回边缘。
连续动作与关键姿势:采用关键姿势,明确呈现从可见到不可见的状态。规划退出轨迹。
跟随与重叠:内容先于容器退出。文本先淡出 50ms,卡片再收起。
缓入缓出:退出时使用缓入。平缓起步,逐渐加速离开:cubic-bezier(0.4, 0, 1, 1)。
弧线:沿曲线退出,而非直线移动。被关闭的通知沿弧线向上滑出。
次要动作:将不透明度渐变与定向移动结合。单纯淡出会让人觉得像出了错。
时长:
- 退出动画应比进入动画快 20-30%
- 快速退出:100-150ms(工具提示、下拉菜单)
- 标准退出:150-200ms(模态框、Toast)
- 从容退出:200-300ms(页面过渡)
夸张:明显退出时缩放到 0.9,轻微关闭时缩放到 0.97。
扎实绘制:保持空间逻辑。元素应沿进入时的路径退出,或朝其“所属”的位置退出。
吸引力:退出动作应确认用户意图。让关闭操作显得果断,而非突兀。
时长建议
| 元素类型 | 时长 | 缓动 | 说明 |
|---|---|---|---|
| 工具提示 | 100ms | ease-in | 比进入动画更快 |
| 下拉菜单 | 150ms | ease-in | 向上收起 |
| Toast | 150ms | ease-in | 滑回原点 |
| 模态框 | 200ms | ease-in | 内容先退出,遮罩最后退出 |
| 已删除项目 | 200ms | ease-in | 淡出后收起高度 |
| 页面 | 250ms | ease-in | 当前页面先退出,新页面再进入 |
实现模式
.exiting {
animation: exit 200ms cubic-bezier(0.4, 0, 1, 1) forwards;
}
@keyframes exit {
from {
opacity: 1;
transform: translateY(0) scale(1);
}
to {
opacity: 0;
transform: translateY(-10px) scale(0.98);
}
}
收起模式
对于已移除的列表项:
- 淡出内容(150ms)
- 收起高度(150ms,从 100ms 时开始)
- 动画完成后从 DOM 中移除
感知总时长:250ms。始终使用 will-change: opacity, transform,确保退出动画流畅。
评论
支持 Markdown