Công Cụ Này Là Gì?
CSS có thể vẽ các họa tiết lặp lại mà không cần bất kỳ file hình ảnh nào bằng cách dùng gradient — radial-gradient() và linear-gradient() — làm background-image, kết hợp với background-size nhỏ hơn phần tử để gradient được lát và lặp lại. Chấm bi dùng repeating radial-gradient, sọc và ô cờ dùng linear-gradient() lặp lại hoặc xếp lớp, và đường lưới dùng hai đường linear-gradient() chồng lên nhau.
Công cụ này tạo các khai báo gradient đó cho bạn. Chọn loại họa tiết, điều chỉnh màu họa tiết, màu nền và khoảng cách, rồi xem khung xem trước trực tiếp cập nhật — sau đó sao chép chính xác mã CSS background-image và background-size.
Nguồn: CSS Images Module Level 3, W3C — định nghĩa repeating-linear-gradient() và repeating-radial-gradient(), các hàm mà những họa tiết này được xây dựng dựa trên đó.
Tại Sao Nên Dùng?
- Không có file hình ảnh, không có yêu cầu HTTP — họa tiết hoàn toàn là CSS và hiển thị tức thì ở bất kỳ độ phân giải nào, kể cả màn hình retina/DPI cao.
- Có thể tùy chỉnh hoàn toàn màu sắc và khoảng cách mà không cần tự viết cú pháp gradient hay tính toán bài toán lát nền.
- Khung xem trước trực tiếp hiển thị chính xác họa tiết lặp lại trước khi bạn sao chép bất cứ điều gì.
- Co giãn gọn gàng vì đây là toán học vector, không phải hình ảnh raster — không bị mờ khi phần tử thay đổi kích thước.
- Chạy hoàn toàn trong trình duyệt của bạn — không có gì bạn cấu hình được tải lên bất cứ đâu.
- Miễn phí, không cần đăng ký, hoạt động tốt trên điện thoại.
Cách Sử Dụng
- Chọn loại họa tiết: chấm bi, sọc chéo, ô cờ, hoặc đường lưới.
- Chọn màu họa tiết và màu nền hiển thị giữa/phía sau các hình dạng của họa tiết.
- Điều chỉnh thanh trượt kích thước để làm chấm, sọc hoặc ô lưới lớn hơn hoặc nhỏ hơn — điều này cũng kiểm soát mức độ dày đặc mà họa tiết lặp lại.
- Sao chép mã CSS được tạo ra và dán vào làm background-image (và background-size/background-position nếu có) của bất kỳ phần tử nào.
Ví dụ
Đầu vào
Họa tiết: chấm bi · Màu: xanh dương · Nền: trắng · Kích thước: 24pxĐầu ra
background-color: #ffffff;
background-image: radial-gradient(rgba(59, 130, 246, 1) 3px, transparent 3px);
background-size: 24px 24px;
background-position: 0 0;Một họa tiết chấm bi sáng cổ điển, thường được dùng làm nền phần tinh tế hoặc kết cấu thẻ.
Cách mỗi họa tiết được tạo ra
- Chấm bi: một radial-gradient() vẽ một vòng tròn nhỏ được tô đầy, sau đó background-size khiến nó lặp lại thành lưới chấm được lát.
- Sọc chéo: một repeating-linear-gradient() ở góc 45 độ luân phiên giữa màu họa tiết và màu nền theo khoảng cách cố định.
- Ô cờ: hai lớp linear-gradient() 45 độ chồng lên nhau, lệch nhau nửa ô lát, tạo ra các ô vuông sáng/tối luân phiên.
- Đường lưới: hai đường linear-gradient() mỏng — một ngang, một dọc — được lát theo khoảng cách đã chọn để tạo thành lưới, tương tự giấy kẻ ô ly.
Khi nào nên dùng họa tiết CSS thay vì file hình ảnh
Một họa tiết gradient CSS không có dung lượng file và không cần yêu cầu HTTP, nên tải tức thì và không bao giờ trông mờ trên màn hình DPI cao, khác với một ô nền PNG dạng raster. Nó lý tưởng cho các kết cấu tinh tế phía sau văn bản, đường phân cách phần, minh họa trạng thái trống, hoặc thẻ giữ chỗ. Đối với các họa tiết minh họa hoặc ảnh chụp phức tạp, một hình ảnh thực sự vẫn là công cụ phù hợp — gradient CSS phù hợp nhất với các hình dạng đơn giản, hình học, lặp lại như ở đây.
Kết hợp với các hiệu ứng CSS khác
Họa tiết hoạt động tốt như nền phía sau các thẻ glassmorphism, vì độ mờ cần có thứ gì đó với kết cấu hình ảnh phía sau để hiển thị rõ. Chúng cũng kết hợp tự nhiên với các góc bo tròn trên phần tử container.
Câu Hỏi Thường Gặp
Các họa tiết này có cần file hình ảnh không?
Không. Mọi họa tiết ở đây được tạo hoàn toàn bằng gradient CSS làm background-image — không có PNG, SVG, hay file nào khác liên quan, nên không có yêu cầu HTTP thêm và không có nguy cơ bị mờ trên màn hình độ phân giải cao.
Tôi có thể thay đổi kích thước của họa tiết không?
Có — thanh trượt kích thước kiểm soát background-size, quy định một ô lát lặp lại của họa tiết lớn bao nhiêu. Kích thước nhỏ hơn khiến các chấm, sọc, hoặc ô lưới sát nhau hơn; kích thước lớn hơn khiến chúng giãn ra.
Tại sao họa tiết ô cờ dùng hai gradient?
Một linear-gradient() đơn lẻ chỉ có thể luân phiên màu theo một hướng. Việc xếp lớp hai gradient 45 độ, lệch nhau nửa ô lát, chính là thứ tạo ra các ô vuông sáng/tối luân phiên của ô cờ — đây là kỹ thuật tiêu chuẩn để tạo ô cờ chỉ bằng CSS.
Họa tiết này có trông sắc nét trên màn hình retina/DPI cao không?
Có. Vì họa tiết là một gradient toán học chứ không phải hình ảnh bitmap, nó được render ở bất kỳ độ phân giải nào màn hình cần, không bị phóng to hay mờ — khác với một ô hình ảnh raster nhỏ bị kéo giãn hoặc lặp lại ở mật độ điểm ảnh cao.
Tôi có thể dùng các họa tiết này làm nền toàn trang không?
Có — áp dụng background-image, background-size và background-position (nếu có) được tạo ra cho body hoặc bất kỳ phần tử container rộng toàn bộ nào. Hãy lưu ý đến độ tương phản: một họa tiết dày đặc, tương phản cao phía sau văn bản chính có thể ảnh hưởng đến khả năng đọc, nên các thiết lập nhẹ nhàng/tinh tế hơn thường phù hợp hơn cho các vùng nền lớn.