Công cụ CSS Grid minmax và dựng layout trực quan
Công cụ này giúp bạn thiết kế khung bố cục trực quan và xuất mã HTML cùng CSS Grid minmax thuần. Bạn có thể điều chỉnh số lượng cột, hàng cũng như khoảng cách để xem trước giao diện một cách nhanh chóng. Toàn bộ quá trình chạy hoàn toàn trên trình duyệt, không cần tạo tài khoản hay tải dữ liệu lên máy chủ.
Cách dùng CSS Grid và các bước dựng bố cục
Bạn có thể nhanh chóng vẽ khung giao diện mong muốn bằng các thao tác trực quan theo trình tự sau:
- Kéo thanh trượt Cột và Hàng (từ 1 đến 24) cùng Khoảng cách (từ 0 đến 128px) để định hình khung lưới.
- Nhấn giữ chuột vào một ô trên lưới và kéo sang góc đối diện để tạo một vùng đặt tên.
- Đổi tên vùng trong danh sách Các vùng thành các từ ngữ ngữ nghĩa như header, sidebar hoặc main. Nếu muốn loại bỏ vùng nào, hãy nhấn vào biểu tượng thùng rác.
- Nhấp vào khối CSS hoặc HTML và chọn nút Sao chép để lưu mã nguồn vào bộ nhớ tạm.
Tùy chỉnh đơn vị fr trong CSS và kích thước nâng cao
Theo mặc định, các cột và hàng được chia thành các phần bằng nhau thông qua hàm repeat(3, 1fr). Đơn vị fr đại diện cho một phần không gian trống còn lại trong lưới sau khi đã trừ đi các kích thước cố định và khoảng cách giữa các ô.
Khi mở bảng Kích thước nâng cao, bạn có thể tự thiết lập kích thước riêng cho từng track. Ô nhập hỗ trợ các giá trị hợp lệ như 1fr, 2fr, 240px, 25%, auto, min-content, max-content, minmax(100px, 1fr) hoặc fit-content(300px). Nếu nhập sai cú pháp CSS, khung nhập sẽ chuyển sang màu đỏ và hệ thống sẽ tự dùng 1fr để mã xuất ra luôn chuẩn xác.
Cấu trúc CSS Grid minmax repeat và giới hạn kích thước
Cú pháp minmax(min, max) cho phép thiết lập phạm vi co giãn của hàng hoặc cột từ một giá trị tối thiểu đến tối đa. Khi kết hợp dạng minmax(100px, 1fr), cột sẽ giữ độ rộng ít nhất là 100px và tự động mở rộng theo không gian còn lại.
Các vùng lưới vẽ ra phải là hình chữ nhật và không được đè lên nhau. Nếu thao tác kéo chạm vào một vùng đã có sẵn, khung chọn sẽ hiển thị màu đỏ và không tạo vùng mới. Những ô không thuộc vùng nào sẽ được đại diện bằng dấu chấm (.) trong thuộc tính grid-template-areas.
Tối ưu CSS Grid responsive layout trên màn hình nhỏ
Mã CSS xuất ra là mã thuần không phụ thuộc vào bất kỳ thư viện bên thứ ba nào, giúp bạn dễ dàng tùy biến cho nhiều kích thước màn hình. Để giao diện co giãn linh hoạt, hãy ưu tiên sử dụng đơn vị fr và hàm minmax() thay cho kích thước px cố định.
Khi làm giao diện phản hồi (responsive), bạn chỉ cần ghi đè thuộc tính grid-template-areas bên trong truy vấn @media để xếp chồng các vùng thành 1 cột duy nhất trên màn hình hẹp.
Tính năng trực quan so với CSS Grid generator io
So với việc viết mã thủ công hoặc dùng các công cụ như css grid generator io, trình dựng trực quan này tự động đồng bộ mã HTML và CSS theo thời gian thực. Mỗi vùng bạn đặt tên sẽ tạo ra một quy tắc grid-area tương ứng cùng một phần tử con trong mã HTML.
Khi bạn thu nhỏ số lượng cột hoặc hàng trên thanh trượt, các vùng vượt quá phạm vi sẽ tự động được thu gọn hoặc xóa bỏ để đảm bảo cấu trúc lưới luôn đồng nhất.
Câu hỏi thường gặp
CSS Grid generator là gì?
CSS Grid generator là công cụ trực quan hỗ trợ tạo mã CSS Grid và HTML tự động từ bản vẽ lưới. Người dùng chỉ cần thiết lập số cột, số hàng, khoảng cách và đánh dấu các vùng để lấy đoạn mã hoàn chỉnh mà không cần tính toán vị trí dòng hay cột thủ công.
Đơn vị fr trong CSS có ý nghĩa gì?
Đơn vị fr đại diện cho một phần tỷ lệ không gian trống còn lại trong container sau khi trừ đi các khoảng cách và kích thước cố định. Ví dụ với cấu hình 1fr 2fr, cột thứ hai sẽ có độ rộng gấp đôi cột đầu tiên.
Hàm minmax() trong CSS Grid hoạt động thế nào?
Hàm minmax(min, max) định nghĩa một khoảng kích thước cho track, đảm bảo nó không nhỏ hơn giá trị min và không lớn hơn giá trị max. Ví dụ minmax(100px, 1fr) giúp cột giữ độ rộng tối thiểu 100px và mở rộng khi khung hình còn chỗ trống.
Làm sao để tạo CSS Grid responsive mà không cần framework?
Bạn có thể dùng đơn vị fr kết hợp hàm minmax() cho các cột thay vì dùng kích thước px cố định. Sau đó, hãy ghi đè thuộc tính grid-template-areas trong truy vấn @media để gom các vùng giao diện về một cột trên màn hình di động.
Cách dùng grid-template-areas để bố trí giao diện?
Bạn gán tên cho từng khu vực bố cục và sắp xếp tên đó theo dạng chuỗi các hàng trong thuộc tính grid-template-areas, sử dụng dấu chấm cho ô trống. Các phần tử con sau đó chỉ cần khai báo thuộc tính grid-area tương ứng với tên vùng đã đặt.
Tại sao ô bị báo đỏ khi kéo chọn vùng trên lưới?
Khung chọn hóa đỏ và không tạo vùng mới khi bạn kéo đè lên một vùng đã tồn tại hoặc vẽ vùng không phải hình chữ nhật. Quy tắc CSS Grid yêu cầu mỗi vùng phải có dạng hình chữ nhật liền mạch và không trùng lặp không gian.
Làm thế nào để thiết lập khoảng cách gap giữa các ô?
Thuộc tính gap thiết lập khoảng không gian giữa các hàng và các cột trong container mà không tạo khoảng trống ở viền ngoài. Bạn có thể kéo thanh trượt Khoảng cách từ 0 đến 128px để cập nhật giá trị gap trong mã CSS xuất ra.