Trình tải GIF so với Hoạt hình Vector: Tại sao các nhóm thay thế GIF hoạt hình trong giao diện người dùng
Tại sao GIF hoạt hình không phù hợp với trình tải giao diện người dùng và biểu tượng, thay vào đó nên sử dụng cái gì (CSS, SVG, Lottie, video, thời gian chạy dựa trên trạng thái) và cách chọn.
Điểm chính
GIF hoạt hình được giới hạn ở các bảng màu có tối đa 256 màu, bật hoặc tắt độ trong suốt, mờ khi thu nhỏ và không thể phản ứng với trạng thái ứng dụng. Đối với các trình tải và biểu tượng giao diện người dùng, hoạt ảnh CSS hoặc SVG thường nhẹ hơn và sắc nét hơn; Lottie mang lại hình ảnh minh họa phong phú hơn; và thời gian chạy dựa trên trạng thái như ExodeUI hoặc Rive là tốt nhất khi hoạt ảnh phải thay đổi khi tải, thành công và có lỗi.
GIF có thể và không thể làm gì
Hướng dẫn định dạng hình ảnh của MDN giải thích rằng mỗi pixel GIF là một chỉ mục trong bảng màu có tối đa 256 màu và lưu ý rằng các định dạng cũ hơn như GIF hoạt động kém hơn so với các định dạng mới hơn như WebP và AVIF. Đối với giao diện người dùng, các vấn đề thực tế là dải màu chuyển sắc, các cạnh lởm chởm trên nền trong suốt, tỷ lệ mờ trên màn hình mật độ cao và không có cách nào phản hồi những gì ứng dụng đang làm.
Thay vào đó nên sử dụng cái gì
Chọn theo những gì hoạt ảnh cần làm:
- Công cụ quay hoặc xung đơn giản: hoạt hình CSS hoặc SVG nội tuyến. Nhỏ, sắc nét và dễ dàng tạm dừng để giảm chuyển động.
- Vòng lặp hoặc biểu tượng minh họa: Lottie hoặc SVG hoạt hình. Vector, có thể mở rộng, nhỏ dành cho tác phẩm nghệ thuật đơn giản.
- Cảnh quay ảnh hoặc phức tạp: video (WebM hoặc MP4) hoặc WebP/AVIF hoạt hình, không phải GIF.
- Trình tải chuyển thành thành công hoặc lỗi: thời gian chạy dựa trên trạng thái, chẳng hạn như ExodeUI hoặc Rive, do trạng thái ứng dụng của bạn điều khiển.
Người tải nên biết chuyện gì đang xảy ra
GIF lặp lại theo cách tương tự cho dù yêu cầu mất một giây hay một phút và nó không thể trở thành dấu kiểm khi công việc hoàn thành. Trình tải dựa trên trạng thái có thể chuyển từ trạng thái tải sang thành công hoặc lỗi và hiển thị tiến trình, điều này cho mọi người biết nhiều điều hơn là một hình ảnh quay.
Khả năng tiếp cận
Vòng lặp GIF không thể tự tuân theo cài đặt giảm chuyển động. Hoạt ảnh CSS, SVG và thời gian chạy có thể bị tạm dừng hoặc đơn giản hóa khi người dùng yêu cầu ít chuyển động hơn. Đồng thời cung cấp cho trình tải một nhãn có thể truy cập được, chẳng hạn như "Đang tải kết quả", để người dùng trình đọc màn hình biết điều gì đang xảy ra.
Nguyên tắc chính cần nhớ
- Bảng màu GIF giữ tối đa 256 màu và tỷ lệ kém
- Sử dụng CSS hoặc SVG cho các trình tải đơn giản
- Sử dụng Lottie cho các vòng lặp minh họa, video cho cảnh quay
- Sử dụng thời gian chạy dựa trên trạng thái khi quá trình tải phải thành công hoặc gặp lỗi
- Hỗ trợ giảm chuyển động và thêm nhãn có thể truy cập
Câu hỏi thường gặp
Nguồn
- Image file type and format guide — Tài liệu web MDN
- lottie-web — GitHub (Airbnb)
- prefers-reduced-motion — Tài liệu web MDN