Trình tạo CSS Grid
CSS Grid là cách tiêu chuẩn để xây dựng bố cục 2D, nhưng cú pháp vùng chứa rất dễ quên. Trình tạo này viết các quy tắc vùng chứa giúp bạn: một số cột có chiều rộng bằng nhau cố định, khoảng cách giữa các track và một media query chuyển sang cột auto-fit khi dưới chiều rộng tối thiểu, để bố cục vẫn dễ đọc trên màn hình nhỏ. Kết quả là CSS vùng chứa thuần túy; việc đặt phần tử nằm trong bảng định kiểu của riêng bạn.
Cách xây dựng lưới
-
1
Đặt số cột
Từ 1 đến 12 track có chiều rộng bằng nhau.
-
2
Đặt chiều rộng tối thiểu của cột
Dưới chiều rộng này, lưới chuyển sang auto-fit để mỗi cột giữ kích thước tối thiểu dùng được.
-
3
Đặt khoảng cách
Khoảng trống giữa các cột và hàng.
-
4
Tạo CSS
Công cụ viết các quy tắc vùng chứa cùng dự phòng thích ứng.
-
5
Sao chép mã
Dán các quy tắc vùng chứa vào bảng định kiểu và đặt phần tử bằng các quy tắc `grid-column` / `grid-row` của riêng bạn.
Vùng chứa được tạo
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
@media (max-width: 660px) {
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
repeat(3, minmax(0, 1fr)): ba cột chia đều chiều rộng có sẵn.1frlà một phần của không gian còn lại;minmax(0, 1fr)cho phép cột co nhỏ hơn kích thước nội dung.gap: khoảng cách giữa mỗi track.- Media query chuyển sang
repeat(auto-fit, minmax(220px, 1fr)), tạo càng nhiều cột càng tốt, mỗi cột rộng tối thiểu 220px. Điểm ngắt là số cột nhân với chiều rộng tối thiểu (với mức sàn 120px), nên trên màn hình nhỏ lưới xuống dòng mới thay vì bị nén lại.
Đơn vị fr
fr nghĩa là “một phần của không gian còn lại”: sau khi trừ các track có kích thước cố định, không gian còn lại được chia cho tổng số đơn vị fr.
grid-template-columns: 200px 1fr 2fr;
Trên vùng chứa 1000px, cột đầu tiên chiếm 200px và 800px còn lại chia theo tỷ lệ 1:2, tức 267px và 533px.
auto-fill so với auto-fit
auto-fill: tạo các track trống bù chỗ khi không đủ phần tử.auto-fit: thu các track trống về 0, để các phần tử còn lại giãn ra lấp đầy hàng.
Dự phòng thích ứng dùng auto-fit, đúng thứ lưới thẻ cần: hàng luôn trông đầy đặn.
Các cột có chiều rộng khác nhau
Trình tạo tạo ra các cột đều nhau. Hãy sửa kết quả để trộn kích thước: grid-template-columns: 200px 1fr 2fr; cho thanh bên cố định và hai cột linh hoạt theo tỷ lệ 1:2. Với vùng có tên (grid-template-areas) hoặc đặt phần tử tường minh (grid-column: 1 / 3), hãy thêm các quy tắc đó bằng tay lên trên vùng chứa đã tạo.
Grid so với Flexbox
- Grid: bố cục 2D tường minh với các track. Phù hợp khi bố cục có cấu trúc hàng và cột (khung trang, thư viện, bảng điều khiển).
- Flexbox: căn chỉnh 1D dọc theo một trục duy nhất. Phù hợp khi các phần tử chảy tự nhiên (thanh điều hướng, hàng nút bấm).
Bố cục thực tế thường kết hợp cả hai: Grid cho khung trang, Flexbox bên trong các thành phần.
Lỗi thường gặp
- Quên
min-width: 0trên phần tử con: phần tử lưới mặc định dùng chiều rộng tối thiểu của nội dung, khiến cộtfrkhông thể co nhỏ hơn từ dài nhất. Đặtmin-width: 0cho phần tử con để chúng co được. - Lồng nhau mà không có
display: grid: phần tử con của lưới không tự trở thành lưới trừ khi bạn khai báo.
Câu hỏi thường gặp
Nó bảo vệ bố cục trên màn hình nhỏ. Media query được tạo chuyển sang repeat(auto-fit, minmax(chiều rộng, 1fr)), nên mỗi cột giữ tối thiểu chiều rộng đó và lưới thêm hàng thay vì nén các cột.
Trình tạo tạo ra các cột đều nhau. Hãy sửa dòng grid-template-columns trong kết quả để trộn kích thước, ví dụ 1fr 2fr 1fr cho cột giữa rộng, hoặc 200px 1fr cho thanh bên cố định.
Thường vì phần tử có giá trị mặc định min-width: auto, bằng chiều rộng tối thiểu của nội dung. Đặt min-width: 0 cho phần tử lưới để nó co được vào trong ô.
Grid khi bố cục có cấu trúc hàng và cột (bố cục trang, thư viện ảnh, bảng điều khiển). Flexbox khi các phần tử chảy dọc theo một trục duy nhất (thanh điều hướng, hàng nút bấm, chồng trường biểu mẫu).
Công cụ liên quan
Bảng tham chiếu ASCII
Bảng ASCII đầy đủ từ 0 đến 127 với giá trị thập phân, thập lục phân, bát phân, nhị phân và ký hiệu tham chiếu ký tự số HTML, gồm NUL, LF và DEL.
Tham chiếu ký tự HTML
Danh sách có thể tìm kiếm các thực thể HTML, mã tên và mã số tương ứng của chúng, cùng chức năng sao chép chỉ với một cú nhấp cho các ký tự đặc biệt và biểu tượng.
Bộ chuyển đổi Base64 sang Hex
Chuyển chuỗi Base64 chuẩn thành các byte nền tảng được viết dưới dạng hexadecimal liên tục in hoa. Giải mã nghiêm ngặt, lý tưởng cho token, khóa và chữ ký JWT.
Trình tạo bảng màu ngẫu nhiên
Tạo bảng màu ngẫu nhiên từ 2 đến 15 mẫu màu, chọn phong cách rực rỡ, pastel, dịu hoặc tối, rồi sao chép mã HEX hoặc biến CSS.
Bộ chọn màu HEX
Chọn hoặc nhập màu HEX để xem RGB, HSL, CMYK ước tính, độ chói tương đối và tương phản với trắng và đen.
Trình xem hex của tệp nhị phân
Chọn một tệp và kiểm tra phần dữ liệu giới hạn từ bất kỳ offset byte hợp lệ nào dưới dạng hex dump cục bộ với cột offset, hex và ASCII.