• Y AnimationPlayground
研究工作台
  • 实验总览
    • Motion Design System
    • 交互技术选型
    • 视觉运行时选型
示例库
  • 示例总览
  • Three.js 示例
  • Shader 示例
  • 代码视频示例
项目
  • 版本记录
GitHubX (Twitter)

交互动效运行时选型指南

v0.3 结论

基于同一个真实产品叙事实验得到的升级路径。

默认策略

原生 CSS/SVG 优先,React 交互使用 Motion,精细编排升级到 GSAP。
这些工具并不是同一层级的竞争者,而是根据控制复杂度和职责归属逐级升级的技术阶梯。
01
CSS 能否清楚表达效果?
优先使用 transition、关键帧和 SVG;当播放控制或阶段协调开始成为主要难点时停止继续堆叠。
测试原生方案
02
动画是否源自 React 状态?
需要挂载状态、布局、手势、弹簧和理解中断的组件行为时,选择 Motion。
测试 Motion
03
时间轴本身是否就是作品?
当命名提示点、高密度重叠、拖动定位和反复编辑足以证明显式时钟的价值时,选择 GSAP。
测试 GSAP
能力对比矩阵
数据来自本地 v0.3 生产构建。路由独占体积在排除共享应用外壳 chunk 后测得,具体数值会随打包结果变化。
对比维度CSS + SVGMotionGSAP
最适合的角色原生能力基线React 交互精细编排
控制模型状态 + 关键帧组件 + 动画值显式时间轴
布局 / 挂载状态手动处理一等能力需要手动测量
时间轴定位需要 WAAPI 桥接支持一等能力
路由独占 gzip约 0.9 kB约 52 kB约 1.3 kB + 27 kB 懒加载
中断处理适合简单状态优秀单一时钟下优秀
调试方式DevTools 样式面板React + 动画作用域时间轴 + 标签
创作能力上限短小编排产品交互高密度序列
组合使用规则

保持职责局部化:CSS 负责持久的状态反馈,Motion 负责 React 交互,GSAP 负责经过明确设计的主时间轴。

只有每个图层都明确服从一个时钟时,混合使用才是安全的。不要让 CSS、Motion 和 GSAP 同时写入同一个 transform 属性。

可访问性规则

三套参考实现启用“减弱动态效果”后都会立即显示完成状态;信息获取不依赖观看完整动画。

播放控制必须支持键盘操作,每个舞台还要在视觉 SVG 图层之外保留语义化文本。