web design uiApril 22, 202613 min read

动效设计原则:2026 年界面到底该怎么动

一份实战设计师的 UI 动效指南。区分有目的动效与装饰的七条原则、时长对照表,以及如何交付经得起真实产品考验的动画。

By Boone
XLinkedIn
motion design principles

动效是现代界面设计中被滥用得最厉害的工具。每个团队都会交出一支动画合集,几乎没人交出一套动效系统。结果就是产品里的元素又弹又晃又视差,一路挡在用户面前。这些动效本该被砍掉。

这篇文章是实战设计师的版本。七条原则,决定一段动效是否配得上留下来;一份时长与缓动参考,终结所有争论;再加一份经得起真实用户测试的模式清单。没有 Dribbble 式的循环动画,没有品牌短片,只有尊重用户时间的产品动效。

动效设计到底是什么

动效设计是产品的行为层。 它决定元素如何进入、离开、响应,以及随时间如何相互关联。做得好,动效能告诉用户他在哪里、从哪里来、可以去哪里,而不需要多写一个字的文案。

做得差,动效只会告诉用户:设计师用得上 Framer。装饰性动画、没完没了的弹簧效果、带声音自动播放的首屏视频,都是同一个错误换了不同的戏服。动效要消耗注意力、带宽和无障碍体验。它得对得起这张账单。

视觉层级设计那篇讲的是眼睛如何阅读静态页面。动效是下一层。它不仅告诉眼睛看哪里,还告诉眼睛什么时候看。

动效只有两份工作,仅此两份

已上线产品里的每一个动画,都在做两份工作中的一份。如果两份都没做,那它就是装饰,而装饰永远是绩效评审时第一个被砍的东西。

工作一:传达状态变化。 原本闲置的按钮现在被按下了。原本不存在的弹窗现在打开了。原本空着的一行现在有了数据。动效通过展示过渡过程,而不是直接跳到新状态,让这种变化清晰可读。

工作二:引导视线。 新元素从右侧滑入,因为用户点了前进按钮。一张卡片缩向底部导航,因为它被收藏了。动效让用户不用读文档,就学会了产品的空间模型。

既不传达状态、也不引导视线的动效,是在白白消耗用户的注意力。砍掉它。


产品动效的七条原则

这些是你手里的杠杆。组合使用,动效读起来就有意图。一个都不用,产品显得僵硬。用得太多,产品就像玩具。

原则 1:先有目的,再谈打磨

每个动画都要回答一个问题:如果没有这段动效,用户会失去什么?如果答案是“什么都不会”,那它就是装饰。如果答案是“他们会看不懂发生了什么”,那它就是结构性的,必须保留。

从“我们在这里加点动画吧”开始的设计师,交付的产品会很吵。从“如果这里瞬间跳变,用户会缺少什么”开始的设计师,交付的产品才有生命力。

原则 2:时长匹配影响

小事件用短动画,大事件用长动画。

按钮按下应在 100 毫秒内完成。页面转场最长可到 400 毫秒。占满整个视口的弹窗可以用到 500 毫秒。超过这个范围,到第十次交互时就会觉得慢,哪怕第一次看起来很有电影感。

时长对照表:

事件时长原因
悬停、聚焦、按钮按下100 到 150 ms反馈必须感觉即时
小型状态变化(开关、输入)150 到 200 ms能被察觉但不打断
卡片、提示框、下拉菜单展开200 到 300 ms给缓动留出足够空间,显得自然
页面或弹窗转场300 到 400 ms建立空间语境而不拖沓
大型布局变化、引导页揭示400 到 500 ms仅在时刻真正重要时使用

在产品里(而不是营销页),任何超过 500 ms 的动画,都是对每个回头用户征收的税。第一次看是电影感,第一百次看是折磨。

体素标尺横向摆放,分成五个彩色方块,分别标注 100ms、200ms、300ms、400ms、500ms,每个方块上都有一个暗示对应事件的小型 UI 控件
体素标尺横向摆放,分成五个彩色方块,分别标注 100ms、200ms、300ms、400ms、500ms,每个方块上都有一个暗示对应事件的小型 UI 控件

原则 3:缓动承载情绪

线性运动很机械。现实世界不会线性运动,做到线性的界面会显得生硬。缓动曲线才是让动效有人味的东西。

三种缓动就能覆盖 90% 的产品工作。

  • Ease-out 用于进入屏幕的元素。开始快,结束慢。符合用户对物体稳稳落位的预期。
  • Ease-in 用于离开屏幕的元素。开始慢,结束快。用户能看到元素在离开前先“点头示意”。
  • Ease-in-out 用于从一处移动到另一处的元素。两端都平滑,符合物理惯性。

弹簧曲线是第四个选项,要谨慎使用。弹簧感觉俏皮,适合语气友好的消费级应用。但对金融软件、医疗或任何“过冲”会被解读为不稳定的产品,就显得不对劲。

体素绘制的三条缓动曲线并排放在深色网格上,分别标注 ease-out、ease-in 和 ease-in-out,每条曲线上都有一个小体素物体沿着它运动
体素绘制的三条缓动曲线并排放在深色网格上,分别标注 ease-out、ease-in 和 ease-in-out,每条曲线上都有一个小体素物体沿着它运动

原则 4:动效尊重动效偏好

每个产品都要提供 prefers-reduced-motion 路径。 患有前庭障碍、偏头痛或注意力敏感的用户,会被其他用户喜欢的动效伤害。无视这个设置不是风格选择,而是无障碍失败。

规则不是在该设置开启时把动效全部去掉,而是把基于位移的动效替换为基于透明度的动效。

滑入 40 像素的卡片,变成淡入的卡片。状态变化依然被传达,前庭触发因素被移除。网页无障碍检查清单讲解了这一点在完整无障碍审计中的位置。

原则 5:全产品保持一致

动效必须让人感觉是同一个产品做出的同一套决定。两个屏幕用了两套缓动和时长,就像两个产品缝在一起。用户会察觉,哪怕说不清哪里不对。

解决办法是建立动效系统。三到五种时长,三到五种缓动。

用命名令牌,比如 motion.short、motion.medium、motion.long、ease.enter、ease.exit、ease.standard。设计系统指南讲解了这些令牌与颜色、字体令牌并列存放的位置。

2026 年,动效令牌不是可选项。这是防止动效随团队扩张而漂移的唯一办法。三个人各自徒手做动画,就会产出三种观点的系统。下一个新人再加第四种。到第二十个屏幕时,产品已经没有连贯的行为层了。

体素对比图。左侧标注“碎片化”:五个屏幕各自使用不同的缓动曲线和时长。右侧标注“系统化”:五个屏幕都取自三个共享的动效令牌
体素对比图。左侧标注“碎片化”:五个屏幕各自使用不同的缓动曲线和时长。右侧标注“系统化”:五个屏幕都取自三个共享的动效令牌

原则 6:动效遵循空间模型

每个产品都有一张隐含的地图。新屏幕在右边。详情视图从卡片放大而来。浮层从顶部落下。导航抽屉从它所在的屏幕边缘滑出。

动效强化这张地图。从用户点击的卡片放大出来的详情页,教会用户空间连续性。同一个详情页如果从顶部掉下来,就会让用户困惑,因为它破坏了隐含的地图。

设计师在这里出错,几乎总是因为孤立地挑选动画,而不是放在流程的语境中考虑。检验方法:你能否把每一个转场都追溯到一致的空间隐喻?如果不能,这段动效就是在装饰,而不是在教学。

原则 7:动效有预算

每个动画都消耗 CPU、电量和注意力。三者都要做预算。

CPU 和电量预算意味着只对 transform 和 opacity 做动画,避免 width、height、top、left 这类会触发布局的属性。现代浏览器在 GPU 上处理 transform 和 opacity,成本很低。对布局属性做动画会强制重新计算,拖垮中端安卓手机的性能。

注意力预算意味着限制并发动画。几乎总是一次只让一样东西动。两处同时动已经很多了,三处就是干扰。

一个每个元素都随滚动而动的页面,不是设计出来的页面,而是专注力的陷阱门。核心网页指标词条讲解了滚动触发动画通常会毁掉的那些性能数字。


配得上留下来的模式

在 Dribbble 上漂浮的几十种动效模式中,真正能改善产品工作的只有一小份清单。其余的都是戏服。

输入上的微交互

按下时压缩 2 像素的按钮,在状态之间弹跳的开关,校验失败时轻轻抖动的输入框。这些是任何产品里成本最低、效果最大的动效。它们在 150 毫秒内、不用任何文案,就回答了用户的问题:系统听到我了吗。

每个主要控件都应该有微交互。按钮、开关、输入框、复选框、单选框、滑块。如果控件对用户的触碰没有可见响应,即使后端很快,产品也会显得很慢。焦点状态词条讲解了约束这些交互的无障碍规则。

列表的错峰揭示

一列卡片以 50 ms 的间隔逐项淡入,读起来是有意图的。同一个列表一下子全部出现,读起来很突兀。首次渲染多花几百毫秒做错峰,几乎总是值得的。

上限是四项。四项之后,在首屏以下继续错峰,让用户的滚动去触发其余部分。把二十项依次错峰会显得很慢,而且用户大多根本看不到。

共享元素转场

用户点击的卡片变成详情视图的头部。缩略图展开成完整图片。这些转场响亮而廉价地教会用户空间模型,是现代产品工作中最令人印象深刻的单一动效模式。它们也需要工程成本,这就是大多数团队砍掉它们的原因。当时刻重要时(引导页、关键转化流程、标志性功能),就付这笔成本。

尊重时间的进度指示

在长时间操作中实时推进的进度条。对加载超过 300 ms 的数据使用骨架屏。只在 1 秒以内、骨架屏会一闪而过的操作中使用转圈。进度动效是信任动效。它告诉用户系统正在工作,而这是他们等待时唯一在乎的事。

有意义的加载状态

加载状态不是设计的缺席,它本身就是一种设计。渐进式披露词条讲解了加载状态如何分阶段呈现内容,而不是卡在最慢的那一块上。


需要警惕的动效失败

每次动效评审都会抓到同样的失败。如果产品带着其中任何一条上线,动效系统就在拆设计其余部分的台。

首屏自动播放视频。 劫持注意力,拖垮性能,还违反减少动效偏好。换成静态图片,或由用户触发播放。

没人要求的视差。 视差就是动效世界里把品牌色用在正文上。截图里看着高级,真机上读起来就是晕动症。

每次状态变化都弹一下。 弹簧动效是调味料,不是原料。每个按钮都弹、每张卡片都弹簧、每个弹窗都过冲的产品,是无法分清主次的产品。把弹簧留给用户应该有所感受的时刻。

转场跑赢了服务器。 数据 200 ms 就到了,屏幕转场却要 500 ms,会让产品感觉比实际更慢。动效应当与实际操作同步或稍稍滞后,绝不是给它垫时间。

循环背景动画。 永远在动的背景,就是永远的干扰。用户每次瞥回来,都会失去专注。只有当动效本身就是重点时才循环(状态、可视化、心跳指示器)。

体素示意图,标注“砍掉清单”:自动播放的首屏视频打了红叉,视差滚动打了红叉,弹跳的按钮打了红叉,循环的背景打了红叉
体素示意图,标注“砍掉清单”:自动播放的首屏视频打了红叉,视差滚动打了红叉,弹跳的按钮打了红叉,循环的背景打了红叉

系统中的动效

动效属于设计系统,与颜色和字体并列。把它当作后期打磨层,就是大多数产品动效不一致的原因。拥有系统的团队,就拥有动效令牌。

最小动效令牌集:

令牌取值范围用途
motion.duration.short100 到 150 ms输入反馈
motion.duration.medium200 到 300 ms状态变化、下拉菜单、提示框
motion.duration.long400 到 500 ms页面、弹窗、大型转场
motion.ease.entercubic-bezier(0, 0, 0.2, 1)进入屏幕的元素
motion.ease.exitcubic-bezier(0.4, 0, 1, 1)离开屏幕的元素
motion.ease.standardcubic-bezier(0.4, 0, 0.2, 1)屏幕内的移动

给它们命名,写成文档,作为变量放进设计令牌层。产品中每个新动画都使用其中一个令牌,否则就要有书面理由说明为什么不用。正是这种纪律,让五位设计师和二十位工程师的团队保持动效连贯。

如何评审动效设计

每个动画上线前,都过四个问题。

它是否传达状态变化或引导视线? 两者都不是,就砍掉。

它是否符合时长对照表? 如果偏长,缩短到感觉有点激进,再退回一步。

它是否使用了令牌? 如果是手写的,就会偏离系统。重构成令牌,或者驳回。

它是否通过 prefers-reduced-motion? 切换这个设置。如果动效仍会触发前庭反应,就只用透明度重做。

四个问题。每个动画五分钟。大多数产品上线前一个都不问,这就是为什么大多数产品像是被装饰过,而不是被设计过。

如果你想要一个在上线时就做这场评审的团队,而不是在上线后的审计里为动效漂移道歉,雇用 Brainy。我们从第一个屏幕起,就把动效放进系统里,构建品牌、网站和产品 UI。

2026 年条件下的动效

有三个转变很重要。动效必须经得起全部三个。

AI 驱动的界面比传统 UI 动得更多。 流式响应、实时推理轨迹、动态工具调用,都会制造持续不断的细微动效。规则是:让 AI 的动效可预测,让产品的动效保持平静。如果所有东西同时在动,就没有什么显得重要。

滚动驱动动画现在是浏览器特性。 CSS scroll-timeline 让设计师无需 JavaScript 就能基于滚动位置做动画。这是新的杠杆,而大多数团队在滥用它,让太多元素随滚动而动。规则是每页只有一个滚动驱动动画,通常是首屏,有时是 CTA。

无障碍法规正在收紧。 欧洲无障碍法案(European Accessibility Act)及类似法律意味着减少动效不是锦上添花,而是可强制执行的。上线没有减少动效路径的产品是合规风险,而不是设计观点。wcag词条讲解了适用的基线。


常见问题

最重要的动效设计原则是什么?

先有目的再谈打磨、时长匹配影响、缓动承载情绪、尊重动效偏好、全产品一致、空间模型意识,以及严格的性能与注意力预算。是这七条原则组合使用,而不是其中任何一条单独起作用,才能产出配得上留下来的动效。

UI 动画应该多长?

几乎所有产品交互都在 100 到 500 毫秒之间。反馈动画(悬停、按下)100 到 150 ms。小型状态变化 150 到 300 ms。页面和弹窗转场 300 到 500 ms。再长就会变成对回头用户的税,哪怕第一次看起来很有电影感。

动效设计和动画有什么区别?

动效设计是产品的行为层,而动画是用来实现它的视觉技术。动效设计问的是这段动画传达了什么状态变化、为什么需要它。动画问的是这个运动看起来怎么样。动效设计是策略,动画是手艺。好的产品工作两者都需要。

每个交互都应该有动画吗?

不。每个主要控件(按钮、开关、输入框)都受益于微交互,因为用户期待触碰后有反馈。次要元素则不需要。检验方法:砍掉动画,看用户是否丢失信息。如果没有,就让它保持被砍掉。

什么是 prefers-reduced-motion,如何处理?

这是一项操作系统设置,表示用户希望减少动效,通常出于前庭或注意力方面的原因。正确的处理不是完全移除动效,而是把基于位移的动画换成基于透明度的动画。状态变化依然被传达,前庭触发因素被移除。

如何搭建动效系统?

从三种时长和三种缓动开始,作为命名令牌。记录每一种用在哪里。在代码评审中强制执行这些令牌。只有当现有集合产生的动效确实不对时,才增加新令牌,绝不为了迁就某位设计师的一次性偏好。每个维度三到五个令牌,通常就是一个产品所需的全部。

动效是手艺,不是功能

动效出色的产品感觉有生命。没有动效的产品感觉僵硬。动效过多的产品像演示合集。这三者之间的距离很小,通往第一种的唯一路径,是一套有硬性规则和诚实评审的系统。

组合使用这七条原则。待在时长对照表之内。有意图地挑选缓动。在颜色和字体令牌旁边,交付一层动效令牌层。

每个动画上线前都过四个问题。最终的产品不会看起来像是在用力,而会看起来像是想过了。

如果你想要一个把这套纪律贯穿品牌、网站和产品 UI、当作一个项目来做的团队,雇用 Brainy。每一次,都把动效当作一等的系统决策。

延伸阅读

Want a product that moves with purpose instead of showing off? Brainy ships brand, web, and UI with motion built into the system, not sprinkled on top.

Get Started

More from Brainy Papers

Keep reading