前端开发
需要为网页添加动画、过渡或微交互时,如何用…
在 Web UI 中创建生产级、可访问、GPU 高效的 CSS 动画、过渡、微交互与复杂动效。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要为网页添加动画、过渡或微交互时,如何通用
解决思路
- 明确动效目的:反馈、愉悦、引导还是叙事。
- 选择技术方案:状态变化用 CSS transitions,循环或多步动效用 keyframes,编排和滚动联动效果用 Framer Motion 或 JS。
- 根据交互设置时长与缓动,套用 `references/principles-and-timing.md` 中的时长与缓动表。
- 编写动画时优先从下方参考文件中取用现成的 keyframes 和模式,而不是从零手写。
- 将动画属性限制在 `transform` 和 `opacity` 以获得 GPU 加速,并应用 `references/performance.md`。
- 为每个动画尊重 reduced-motion 偏好,应用 `references/accessibility.md`。
- 在低端设备上验证,并在发布前确认没有布局抖动(layout thrash)。
- 参考 `references/principles-and-timing.md`:Disney 12 原则映射到 UI、时长与缓动表。
- 参考 `references/transitions.md`:transition 语法、缓动函数、cubic-bezier 预设、Tailwind transitions。
- 参考 `references/keyframe-library.md`:keyframe 语法以及 fade、scale、bounce、rotate、slide 和 attention-seeker keyframes。
- 参考 `references/loading-animations.md`:spinners、dots、skeleton loaders、shimmer、progress bars。
- 参考 `references/micro-interactions.md`:按钮、hover、图标、表单以及成功/错误交互。
- 参考 `references/page-transitions.md`:View Transitions API、Framer Motion 页面与共享布局过渡、交错列表。
- 参考 `references/scroll-animations.md`:Intersection Observer、Framer Motion 滚动 hooks、原生 CSS 滚动驱动动画。
- 参考 `references/accessibility.md`:`prefers-reduced-motion` CSS、Tailwind motion-safe/reduce、React hook。
- 参考 `references/tailwind-config.md`:可直接放入的 `tailwind.config.js` 动画与 keyframe 定义。
- 参考 `references/performance.md`:GPU 加速属性、`will-change`、`contain`、性能检查清单。