Trình tạo CSS loading spinner

Tiếp theo

Loading spinner cho khách truy cập biết một trang, một khung hoặc một nút vẫn đang hoạt động. Đặt kích thước, độ dày vòng, màu và tốc độ bên dưới, xem trước, rồi sao chép CSS loading spinner hoàn chỉnh vào bảng định kiểu của bạn.

Cách lấy CSS loading spinner

  1. 1

    Chọn kích thước

    Nhập đường kính tính bằng pixel. Khoảng 40 đến 60 cho vùng nội dung, nhỏ hơn cho việc dùng nội tuyến.

  2. 2

    Chọn độ dày và màu

    Đặt độ dày vòng tính bằng pixel và chọn màu của cung đang chuyển động bằng ô Màu.

  3. 3

    Đặt tốc độ

    Nhập số giây cho một vòng đầy đủ. 1 là giá trị mặc định thường dùng.

  4. 4

    Sao chép CSS

    Dùng nút Sao chép bên cạnh hộp CSS và dán các quy tắc vào bảng định kiểu của bạn.

Bạn nhận được gì

Trình tạo viết hai quy tắc: một lớp .loader và một khối @keyframes spin. Lớp vẽ một vòng tròn, cho nó một vòng xám nhạt và tô màu cạnh trên của vòng đó. Keyframes xoay vòng tròn một vòng đầy đủ, còn dòng animation lặp lại việc này mãi mãi. Không cần thêm gì khác: không có tệp hình ảnh, không có phông chữ biểu tượng và không có tập lệnh.

Với các giá trị mặc định (60 px, vòng 6 px, #10b981, 1 giây), kết quả trông như sau:

.loader {
  width: 60px;
  height: 60px;
  border: 6px solid #eee;
  border-top-color: #10b981;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}

Thêm vào trang của bạn

Dán CSS vào bảng định kiểu, rồi thêm một phần tử rỗng ở nơi loader cần xuất hiện:

<div class="loader" role="status" aria-label="Đang tải"></div>

Hiển thị phần tử khi công việc đang chạy, rồi xóa nó hoặc ẩn bằng display: none khi nội dung đã đến. Các thuộc tính role và aria-label cho phép trình đọc màn hình thông báo trạng thái.

Kích thước phù hợp

Vị trí Kích thước Độ dày
Bên trong nút nhỏ 16 đến 20 px 2 px
Cạnh một dòng chữ 20 đến 28 px 3 px
Thẻ hoặc khung 40 đến 60 px 4 đến 6 px
Căn giữa trên trang trống 60 đến 100 px 6 đến 8 px

Quy tắc ngón tay cái là độ dày khoảng một phần mười đường kính. Vòng mỏng hơn nhiều sẽ trông nhạt trên màn hình độ phân giải cao, còn vòng dày hơn nhiều sẽ thành một khối đặc.

Những điều cần biết

  • Màu track cố định là xám nhạt (#eee). Trên nền tối, hãy sửa giá trị này trong CSS đã dán.
  • Công cụ chỉ tạo một spinner hình tròn. Chấm, thanh và các hình dạng khác cần markup khác.
  • Nếu dự án của bạn đã có lớp tên loader hoặc hoạt ảnh tên spin, hãy đổi tên chúng trong CSS đã dán để các quy tắc không xung đột.

Hiển thị và ẩn

Loading spinner nên xuất hiện khi công việc bắt đầu và biến mất khi công việc kết thúc. Một cách đơn giản là giữ thuộc tính hidden trên phần tử và gỡ nó khi yêu cầu bắt đầu. Nếu thời gian chờ thường rất ngắn, hãy thêm độ trễ vài trăm mili giây trước khi hiện vòng, để các phản hồi nhanh không làm spinner nhấp nháy. Dù bạn chọn cách nào, hãy ẩn spinner cả khi có lỗi, nếu không khách truy cập sẽ tiếp tục chờ một thứ đã thất bại.

Câu hỏi thường gặp

Có. Kết quả là CSS thuần với một lớp và một quy tắc keyframes, nên nó hoạt động trong bất kỳ bảng định kiểu hoặc khối style nào, với bất kỳ backend nào.

Giữ phần tử ở trạng thái ẩn mặc định và hiển thị khi yêu cầu bắt đầu. Ẩn lại khi yêu cầu kết thúc. Bạn điều khiển việc này bằng cách chuyển lớp hoặc thuộc tính hidden trong mã của chính mình.

CSS được tạo chỉ tô màu cạnh trên của vòng tròn. Khi vòng tròn xoay, cung có màu duy nhất đó di chuyển quanh vòng xám nhạt, và điều này tạo ra hiệu ứng quay.

Có. Mỗi giá trị đều là một thuộc tính CSS thông thường, nên bạn có thể sửa chiều rộng, viền, màu hoặc thời gian hoạt ảnh trực tiếp trong bảng định kiểu.

Công cụ liên quan

Công cụ này có phiên bản bằng các ngôn ngữ khác

Hướng dẫn và trường hợp sử dụng