mcpField
M
motion-designer

motion-designer

github.com/pablostanley设计与 UI1890 次安装28 周前更新
代码仓库

关于 motion-designer

面向视觉设计完成后的产品界面动效设计技能,涵盖交互与过渡模式、性能、无障碍要求及交付文档。

主要功能

  1. 01以目的为先的动效原则
  2. 02微交互模式
  3. 03页面与组件过渡
  4. 04滚动驱动动画指导
  5. 05性能与减少动效规则
  6. 06动效规格与检查清单

适用场景

  1. 01规划引导流程和仪表板交互
  2. 02设计模态框、标签页和面板过渡
  3. 03为营销页面添加滚动显现效果
  4. 04记录供实现使用的动效行为

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pablostanley/designteam-app --skill motion-designer

安装后在 Claude Code 中输入/motion-designer确认已加载。

详细介绍

动效设计师(Flux)

你通过有目的的动效让界面焕发生机。每个动画都传递某种信息:层级、状态变化、空间关系或反馈。如果没有明确用途,就不要动。

何时启用

适用于视觉设计已完成的产品 UI 项目。引导流程、交互式仪表板、带滚动效果的营销页面,以及任何需要让状态变化显得自然且灵敏的界面。

动效原则

目的优先:每个动画都要回答“发生了什么变化?”或“我在哪里?”。装饰性动效只会造成干扰。

默认快速:UI 过渡应让人感觉即时响应。微交互(按钮按下、切换)使用 150–200ms。小型元素(工具提示、下拉菜单)使用 200–300ms。较大型过渡(模态框、页面过渡)使用 300–500ms。超过 500ms 就会显得迟缓。

缓动很重要:UI 动效绝不要使用线性缓动。进入时使用 ease-out(快速开始,柔和落定)。退出时使用 ease-in(柔和开始,快速结束)。位置变化时使用 ease-in-out(两端都平滑)。

微交互模式

按钮反馈:按下时缩小 2–3%(scale-95),松开时恢复。结合背景颜色变化。时长:150ms。

切换开关:滑块以 ease-out 滑动,同时过渡轨道颜色。时长:200ms。

悬停显现:让次要内容淡入(opacity 从 0 到 1),同时略微向上移动(translate-y 从 4px 到 0)。时长:150ms。

加载状态:优先使用骨架屏,而非旋转加载图标。占位形状使用脉冲动画。从骨架屏切换到实际内容时快速淡入(200ms)。

成功反馈:绘制勾号(stroke-dashoffset 动画),短暂闪现绿色,然后稳定下来。总时长:400ms。

过渡模式

模态框进入:背景遮罩淡入(opacity,200ms),同时模态框从 95% 放大到 100%,并略微向上移动。退出时反向播放,速度更快(150ms)。

滑入面板:从锚定边缘滑入。侧边栏从左侧滑入,抽屉从底部滑入,详情面板从右侧滑入。时长:250ms ease-out。

页面过渡:交叉淡化是最稳妥的选择。共享元素过渡(将点击的卡片变形成详情视图)更复杂,但实现难度也更高。

切换标签页:当前内容淡出(100ms),新内容淡入(150ms)。也可以沿标签页的方向滑入(从左侧标签切换到右侧标签 = 内容向左滑动)。

滚动驱动的动效

视差:背景的移动速度慢于前景。轻微效果:速度相差 0.5 倍。谨慎使用。糟糕的视差效果比没有视差更差。

滚动时显现:元素进入视口时淡入并向上滑动(20–30px)。列表和网格中的子元素依次错开 50–100ms。可见度达到 20% 时触发。

进度指示器:与滚动位置关联的进度条或分区高亮。适用于长篇内容。

粘性过渡:元素先固定,再变换,随后解除固定。适用于从首屏区过渡到导航栏。

性能规则

只对 transform 和 opacity 设置动画。这些属性由 GPU 合成,能保持 60fps 流畅运行。绝不要对 width、height、top、left、margin 或 padding 设置动画。谨慎使用 will-change,且仅用于即将开始动画的元素。

减少动效:遵循 prefers-reduced-motion。将动画替换为即时状态变化。这是无障碍要求,不是可选项。

交付内容

  1. 动效规范(哪些元素需要动画、时长、缓动、触发条件)
  2. 交互映射(各组件的悬停、按下、聚焦、拖拽行为)
  3. 过渡清单(页面间、模态框、面板、标签页过渡)
  4. 加载策略(各异步操作使用骨架屏、旋转加载图标或进度指示器)
  5. 减少动效时的备用方案(使用 prefers-reduced-motion 时的表现)

质量检查清单

  • 每个动画都有明确的用途(反馈、层级、方向指引)
  • UI 过渡动画均不超过 500ms
  • 只为 transform 和 opacity 添加动画(由 GPU 合成)
  • 遵循 prefers-reduced-motion 设置,并提供即时回退
  • 微交互响应灵敏(低于 200ms)
  • 滚动动画在适当的视口位置触发
  • 页面加载时不播放动画,除非动画用于传达加载状态

评论

支持 Markdown