Skip to main content
ExodeUI

EXODEUI DESKTOP

A little space for good ideas.

Choose your platform to get the official ExodeUI installer.

Looking for Intel Mac or other builds? Explore the web studio or check all download options.

Prefer the browser? Try for free in your browser →
运动用户体验6 分钟阅读·Updated 2026 年 10 月·ExodeUI 团队

GIF 加载程序与矢量动画:为什么团队要替换 UI 中的动画 GIF

为什么动画 GIF 不适合 UI 加载器和图标,应该使用什么(CSS、SVG、Lottie、视频、基于状态的运行时)以及如何选择。

直接总结和定义

核心要点

动画 GIF 仅限于最多 256 种颜色的调色板、具有开或关透明度、缩放时模糊并且无法对应用程序状态做出反应。对于 UI 加载器和图标,CSS 或 SVG 动画通常更轻、更清晰; Lottie适用于更丰富的插图;当动画必须随加载、成功和错误而变化时,基于状态的运行时(例如 ExodeUI 或 Rive)是最佳选择。

GIF 能做什么和不能做什么

MDN 的图像格式指南解释说,每个 GIF 像素都是最多 256 种颜色的调色板的索引,并指出 GIF 等旧格式与 WebP 和 AVIF 等新格式相比性能较差。对于 UI,实际问题是渐变带、透明背景上的锯齿状边缘、高密度屏幕上的模糊缩放以及无法响应应用程序正在执行的操作。

GIF、视频、Lottie 和基于状态的运行时在颜色、透明度、锐缩放和状态反应方面的比较
GIF 是 UI 运动最不灵活的选项;矢量保持清晰并且可以对状态做出反应。

用什么代替

根据动画需要执行的操作进行选择:

  • 简单的旋转器或脉冲:CSS 动画或内联 SVG。小巧、锐利且易于暂停以减少运动。
  • 插图循环或图标:Lottie 或动画 SVG。矢量,可扩展,小,适合简单的艺术品。
  • 摄影或复杂素材:视频(WebM 或 MP4)或动画 WebP/AVIF,而不是 GIF。
  • 导致成功或错误的加载器:基于状态的运行时,例如 ExodeUI 或 Rive,由应用程序的状态驱动。

装载机应该知道发生了什么

无论请求花费一秒还是一分钟,GIF都会以相同的方式循环,并且当工作完成时它不能成为复选标记。基于状态的加载器可以从加载到成功或错误并显示进度,这比旋转图像告诉人们的更多。

无障碍

循环 GIF 无法自行遵循缩减运动设置。当用户要求减少运动时,可以暂停或简化 CSS、SVG 和运行时动画。还为加载程序提供可访问的标签,例如“加载结果”,以便屏幕阅读器用户知道发生了什么。

要记住的关键 Principle

  • GIF 调色板最多可容纳 256 种颜色,并且缩放比例很差
  • 对于简单装载机使用 CSS 或 SVG
  • 使用 Lottie 进行插图循环,使用视频进行素材
  • 当加载必须成功或错误时使用基于状态的运行时
  • 支持减少运动并添加可访问的标签

常见问题解答

来源

  1. Image file type and format guide — MDN 网络文档
  2. lottie-web — GitHub(爱彼迎)
  3. prefers-reduced-motion — MDN 网络文档

相关指南和示例

一个知道何时完成的加载器

打开免费的 ExodeUI 示例,其中包含您的代码开关的加载、成功和错误状态。

打开示例
免费试用