创新方案
构建 800-1200ms 电影级慢动画时…
适用于启动序列、重大功能揭示、故事时刻、错误恢复、成就解锁、教程、首次运行、演示分节、加载到内容揭示等需要用户停下观看并吸收的 800-1200ms 刻意慢动画。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
构建 800-1200ms 电影级慢动画通用
解决思路
- 使用 25-35% 的挤压与拉伸形变,让物体有重量和个性,用形变讲述故事。
- 加入 200-300ms 的完整戏剧性蓄力/预备动作,让观众预知即将发生。
- 按镜头/舞台构图,建立清晰视觉层级和入场顺序。
- 采用姿势到姿势方法,为 1 秒运动设置 4-6 个关键姿势。
- 使用扩展跟随与重叠动作,让不同元素在明显不同时间停止,稳定过程持续 200-300ms。
- 使用强 ease-in 营造重量感,强 ease-out 营造冲击感。
- 让运动路径明显弯曲,呈现可见弧线轨迹。
- 叠加多层辅助动作来增强主运动。
- 在 60fps 下使用 48-72 帧(约 800-1200ms)的时长。
- 夸张比例和运动幅度,推高戏剧性以产生情感冲击。
- 使用完整维度变换,包括视差、深度和 3D 旋转。
- 通过慢动作建立与界面的情感连接和亲密感。
- 戏剧性、有重量感的运动:`transition: all 1000ms cubic-bezier(0.16, 1, 0.3, 1);`
- 优雅入场:`transition: all 900ms cubic-bezier(0.22, 1, 0.36, 1);`
- 沉重、有力落地:`transition: transform 1100ms cubic-bezier(0.33, 1, 0.68, 1);`
- 弹性、令人难忘:`transition: all 1000ms cubic-bezier(0.68, -0.6, 0.32, 1.6);`
- 定义 `@keyframes slowReveal`:0% 时 `opacity: 0; transform: translateY(100px) scale(0.8);`,60% 时 `opacity: 1;`,100% 时 `transform: translateY(0) scale(1);`;然后 `.slow-reveal { animation: slowReveal 1000ms cubic-bezier(0.16, 1, 0.3, 1) forwards; }`
- 交错序列:`.sequence-item { animation: slowReveal 900ms cubic-bezier(0.22, 1, 0.36, 1) forwards; }`,并用 `.sequence-item:nth-child(n) { animation-delay: calc(var(--index) * 150ms); }` 设置错开延迟。
适用边界 · 注意事项
- 视图间导航(太慢)
- 重复交互或高频操作(用户会不耐烦)
- 数据密集型界面或生产力工具