切换·Esc 返回

缓动Easing

视觉效果与操作状态
控制动画开始和结束时怎样加减速

缓动决定一个动作在相同时长内怎样分配速度。持续旋转常用匀速,界面入场和退场会使用不同曲线;项目里最好收敛成少量可重复使用的规则。

ease-out 入场ease-in 退场linear 机械

什么时候用

  • 入场用 ease-out弹窗 Modal轻提示 Toast 快进来、慢停下
    ease-out:先快后慢,稳稳停住
  • 退场用 ease-in:元素加速离开,不磨叽
    ease-in:起步缓,加速离开
  • cubic-bezier 自定义:四个参数捏出品牌自己的手感
    cubic-bezier 四个数,捏出任意曲线
  • 定成全站变量:一条曲线全站用,动效气质才统一
    --ease按钮卡片弹窗
    全站共用一条曲线,动效气质统一

什么时候不用

  • 默认用 linear:匀速不自然,像机器人
    linear 匀速,像机器人一样不自然
  • 入场用 ease-in:先磨叽再猛冲进来,方向反了
    入场用 ease-in:先磨叽,再猛地冲进来
  • 每个动画随手一条曲线:全站动作气质分裂
  • 贝塞尔两端拉过头求回弹:失控难看,要弹性用 弹性 Spring
    两端拉过头,回弹失控;要弹性该用弹簧
组成结构 · Anatomy
横轴:时间 →纵轴:进度 ↑
1曲线形状Curve弯在哪里,快慢就在哪里
2时间轴Time横轴,动画从头播到尾
3进度轴Progress纵轴,属性变到了多少
常见变体 · Variants
先快后慢ease-out
入场与出现,先快后稳停住
先慢后快ease-in
退场与消失,加速离场
两头都缓ease-in-out
原地状态切换,两端都柔和
自定义曲线cubic-bezier
要独特品牌手感时微调
典型使用场景
按钮悬停的手感
B I 🔗 🖱️
ease-out:变色先快后慢,手指能感到“跟手”
弹窗入场刹车
新版本 v2.4 已就绪
重启应用即可完成更新。
ease-out 入场:快速冲进来,到点前“刹车”停稳
元素退场加速
✓ 保存成功
✓ 保存成功
ease-in 退场:起步缓、加速离开,150ms 收干净
全站统一动效曲线
设计规范 · 动效 Tokens
--ease-standard cubic-bezier(.2,.8,.2,1)
按钮悬停 弹窗入场 卡片浮起 全用这一条