CodeKitHub
Công cụ CSS

Trình Tạo Loader CSS

Cập nhật lần cuối:

Chọn kiểu loader, điều chỉnh kích thước, màu sắc và tốc độ hoạt ảnh, công cụ này sẽ tạo ra đoạn CSS đầy đủ — bao gồm cả quy tắc @keyframes — cùng với mã HTML tương ứng, giúp bạn sao chép một hoạt ảnh tải hoạt động ngay mà không cần tự viết mã hoạt ảnh.

Xem trước

CSS đã tạo

Mã HTML

Công Cụ Này Là Gì?

Loader CSS là một phần tử hoạt ảnh nhỏ — vòng xoay, chấm nảy, vòng tròn nhấp nháy hoặc thanh tiến trình di chuyển — dùng để báo hiệu nội dung đang được tải, không cần vòng lặp hoạt ảnh JavaScript và không cần hình ảnh hay GIF. Nó được tạo từ một vài quy tắc CSS cộng với khối @keyframes định nghĩa cách phần tử thay đổi theo thời gian.

Công cụ này tạo ra bốn kiểu loader phổ biến với CSS thật, hoạt động được: spinner xoay dựa trên border, ba chấm nảy lần lượt, vòng tròn nhấp nháy vào ra, và thanh tiến trình có phần lấp đầy trượt. Điều chỉnh kích thước, màu sắc và thời lượng trên bản xem trước trực tiếp, sau đó sao chép CSS được tạo ra cùng với phần tử HTML tối thiểu mà nó áp dụng.

Nguồn: CSS Animations Level 1, W3C — đặc tả định nghĩa @keyframes và các thuộc tính hoạt ảnh mà những loader này được xây dựng từ đó.

Tại Sao Nên Dùng?

  • Bản xem trước trực tiếp hoạt hình theo thời gian thực khi bạn thay đổi kiểu, kích thước, màu sắc hoặc tốc độ — bạn thấy chính xác thứ mình sẽ dùng.
  • Tạo ra CSS đầy đủ bao gồm cả khối @keyframes, không chỉ là một đoạn bạn phải tự hoàn thiện.
  • Cũng xuất ra chính xác mã HTML mà CSS cần, không phải đoán tên class hay cấu trúc phần tử.
  • Bốn kiểu hoạt ảnh khác nhau (spinner, chấm, nhấp nháy, thanh) bao phủ hầu hết các trường hợp trạng thái tải phổ biến.
  • Hoạt ảnh CSS thuần túy — không cần JavaScript, không cần tệp hình ảnh, nhẹ và mượt hơn ảnh GIF động.
  • Chạy hoàn toàn trong trình duyệt, miễn phí, không cần đăng ký.

Cách Sử Dụng

  1. Chọn kiểu loader: vòng xoay, chấm nảy, vòng tròn nhấp nháy hoặc thanh tiến trình.
  2. Kéo thanh trượt kích thước để phóng to hoặc thu nhỏ loader.
  3. Chọn một màu — màu này sẽ trở thành màu nhấn của loader (viền xoay, các chấm, hoặc phần lấp đầy của thanh).
  4. Điều chỉnh tốc độ để hoạt ảnh nhanh hơn hoặc chậm hơn; hầu hết loader giao diện trông đẹp nhất trong khoảng 0,6s đến 1,5s mỗi chu kỳ.
  5. Sao chép CSS được tạo ra vào stylesheet của bạn và dán đoạn HTML vào nơi cần hiển thị loader.

Ví dụ

Đầu vào

Kiểu: vòng xoay · Kích thước: 40px · Màu: cam · Tốc độ: 1,0s

Đầu ra

.css-loader-spinner {
  width: 40px;
  height: 40px;
  border: 4px solid rgba(0, 0, 0, 0.1);
  border-top-color: #f97316;
  border-radius: 50%;
  animation: css-loader-spin 1s linear infinite;
}

@keyframes css-loader-spin {
  to { transform: rotate(360deg); }
}

Một spinner dạng vòng kinh điển: một hình tròn có viền gần như trong suốt ở ba cạnh và màu đặc ở cạnh thứ tư, xoay liên tục với hoạt ảnh tuyến tính, vô hạn.

Vì sao dùng loader CSS thay vì GIF động

Spinner GIF động từng là lựa chọn mặc định trong nhiều năm, nhưng ngày nay loader CSS gần như luôn là lựa chọn tốt hơn: chỉ vài trăm byte văn bản thay vì một tệp hình ảnh nhị phân, có thể phóng to thu nhỏ tùy ý mà không bị vỡ hạt vì được vẽ bằng border và transform, và màu sắc có thể đổi ngay lập tức chỉ với một giá trị CSS thay vì phải xuất lại hình ảnh mới.

Bốn kiểu ở đây — spinner, chấm, nhấp nháy, thanh — cũng là những kiểu xuất hiện phổ biến nhất trong giao diện thực tế, từ trạng thái tải trong nút bấm đến lớp phủ toàn trang. Mỗi kiểu chỉ thay đổi transform và opacity trong keyframes, điều mà trình duyệt có thể hoạt hình mượt mà trên GPU mà không làm giật phần còn lại của trang.

Chọn kiểu phù hợp với tình huống

  • Vòng xoay: lựa chọn trung tính, đa dụng nhất — phù hợp bên trong nút bấm và các trạng thái tải nhỏ trên cùng dòng.
  • Chấm nảy: tạo cảm giác nhẹ nhàng, vui nhộn hơn; thường dùng cho chỉ báo 'đang nhập...' trong chat và các lần chờ ngắn.
  • Vòng tròn nhấp nháy: phù hợp làm chỉ báo tải cho một phần tử duy nhất hoặc làm chấm trạng thái 'đang hoạt động/trực tiếp'.
  • Thanh tiến trình: ngụ ý sự tiến triển và thường được mong đợi khi tải trang hoặc trong các quy trình nhiều bước, ngay cả khi không có tỷ lệ phần trăm chính xác.

Sử dụng loader trong dự án của bạn

Dán CSS được tạo ra một lần vào stylesheet, sau đó tái sử dụng đoạn HTML ở bất cứ đâu bạn cần trạng thái tải — bên trong nút bấm khi gửi biểu mẫu, phía trên thẻ khi đang lấy dữ liệu, hoặc căn giữa trong lớp phủ toàn trang. Vì hoạt ảnh là CSS thuần túy, việc bật tắt nó đơn giản như thêm hoặc xóa phần tử khỏi DOM, hoặc ẩn nó bằng display: none.

Trình Tạo Box Shadow · Rút Gọn CSS

Câu Hỏi Thường Gặp

Các loader này có hoạt động mà không cần JavaScript không?

Có — mỗi loader ở đây được hoạt hình hoàn toàn bằng @keyframes CSS và thuộc tính animation. JavaScript chỉ cần thiết nếu bạn muốn hiện hoặc ẩn loader dựa trên một sự kiện, chẳng hạn như gửi biểu mẫu hoặc một yêu cầu vừa hoàn tất.

Vì sao CSS được tạo ra lại bao gồm khối @keyframes?

Hoạt ảnh CSS cần hai phần: kiểu cơ bản của phần tử (kích thước, màu sắc, hình dạng) và một quy tắc @keyframes mô tả các kiểu đó thay đổi như thế nào trong suốt thời lượng hoạt ảnh. Cả hai đều cần thiết để hoạt ảnh chạy được, nên công cụ này luôn tạo ra cặp đầy đủ thay vì chỉ kiểu cơ bản.

Tôi có thể dùng nhiều kiểu loader trên cùng một trang không?

Có. Mỗi kiểu tạo ra các class CSS và keyframes có tên riêng biệt (ví dụ css-loader-spinner và css-loader-dots), nên bạn có thể sao chép nhiều kiểu vào cùng một stylesheet mà không bị xung đột.

Hoạt ảnh loader có làm chậm trang của tôi không?

Không — cả bốn kiểu chỉ hoạt hình transform và opacity, thứ mà trình duyệt có thể xử lý trên compositor/GPU mà không gây tính toán lại bố cục. Điều này giữ cho chúng luôn mượt mà kể cả trên thiết bị yếu hơn, khác với việc hoạt hình trực tiếp các thuộc tính như width hay top.

Làm sao để đổi màu loader sau này mà không cần tạo lại?

Mở CSS đã sao chép và đổi trực tiếp giá trị màu — tùy kiểu, giá trị màu chỉ xuất hiện một lần (dưới dạng border-top-color, background hoặc tương tự) chứ không lặp lại nhiều nơi trong quy tắc, nên chỉ cần một lần tìm-và-thay-thế là cập nhật được ở mọi chỗ.

Công Cụ Liên Quan