除了使用 CSSSVG来实现动画效果之外,复杂的动效实现方式有以下几种

方式优点缺点
GIF制作简单、兼容性强不支持半透明通道,失真严重,颜色丢失较多,锯齿明显,体积较大,运行占用内存大
PNG 序列动画流畅、保真度高、支持各类动效输出;开发可调控速度启动时需加载所有图片资源,文件过大,内存占用高,容易卡顿
APNG色彩保留度高,流畅度高、支持透明通道、并且不会有锯齿和颗粒感导出步骤较多
Webp与 Apng 类似,体积小,流畅度高,支持透明通道,在 H 5 环境中加载速度快少部分场景会有兼容性问题
Lottie(JSON)矢量的、纯代码输出,体积不受帧率和尺寸限制,运行占用内存小部分 AE 效果不支持,目前多用于 IOS 与安卓平台,且对系统版本有一定要求
SVGA保真度高,视觉效果上佳,礼物都炫酷动效皆可,文件小,性能优越,兼容多平台制作较复杂,通常智能识别 AE 基础动效,其他效果需转为位图再导出;开发工作相教 GIF 文件略大
MP4兼容性强,普及度高不支持透明通道,体积较大

体积对比

MP4 > PNG 序列 > APNG > Webp > GIF > SVGA > Lottie

场景建议

  • GIF 动图:简单的视觉动图,小尺寸 Banner、活动页装饰动效、界面悬浮的动态入口等
  • PNG 帧序列:变化较少的动态效果,操作引导、入口闪动提示、部分加载效果等
  • SVGA:较为复杂的视觉动效,礼物动效,炫酷开场动效等
  • Webp/Apng: 大尺寸的 Banner、活动氛围背景、活动页头图等
  • Lottie JSON: 简单的交互动效,按钮 icon 交互、logo 启动效果、矢量插图动效等
  • MP 4: 启动界面动画、大型活动的宣传介绍(双 11、618 做任务瓜分现金红包活动)