Giới thiệu
- CSS Grid đã được hỗ trợ trên mọi trình duyệt lớn từ năm 2017
- Tuy nhiên, ngay cả đến năm 2024, vẫn còn nhiều người không sử dụng tính năng grid template areas
- Bài viết này nhằm giải thích sự đơn giản và mạnh mẽ của grid template areas
Các vùng lưới được đặt tên trong CSS
- Trong CSS Grid, có thể đặt tên cho từng vùng lưới và tham chiếu chúng trong toàn bộ CSS
- Ví dụ, có thể định nghĩa một bố cục lưới với hai cột và ánh xạ
grid-area cho từng mục
Quy tắc của grid template areas
- Các vùng được định nghĩa phải có hình chữ nhật
- Tất cả các vùng phải được định nghĩa
Cú pháp grid template
- Cần sử dụng thuộc tính
grid-template-areas để định nghĩa các vùng lưới
- Có thể dùng nhiều chuỗi vùng
- Một chuỗi đơn biểu thị bố cục một chiều, còn nhiều chuỗi biểu thị bố cục đa chiều
Các đường lưới được đặt tên trong CSS
- Có thể đặt tên duy nhất cho các đường lưới
- Ví dụ, trong một lưới có 3 cột, có thể đặt tên cho từng đường
- Các đường lưới được đặt tên không thay thế số thứ tự đường mặc định
Các trường hợp sử dụng của grid template areas
- Đảo hướng lưới: có thể dễ dàng thay đổi hướng bố cục bằng
grid-template-areas
- Bố cục header: có thể định nghĩa bố cục header bằng
grid-template-areas và làm cho nó phản hồi tốt
- Bố cục biên tập: có thể dễ dàng định nghĩa và thay đổi bố cục chứa nhiều loại nội dung khác nhau
Bố cục có điều kiện và CSS :has()
- Có thể dùng bộ chọn CSS
:has() để thay đổi bố cục tùy theo sự hiện diện của phần tử
Hỗ trợ đa ngôn ngữ (LTR/RTL)
- CSS Grid điều chỉnh bố cục theo hướng trang (LTR hoặc RTL)
- Điều này có nghĩa là các vùng lưới được đặt tên cũng tuân theo hướng trang
Vùng lưới và DevTools
- Mọi trình duyệt lớn đều cung cấp công cụ tốt cho vùng lưới (Chrome, Safari, Firefox)
- Mỗi trình duyệt có cách trực quan hóa vùng lưới khác nhau
Tổng kết của GN⁺
- Tính năng grid template areas của CSS Grid rất hữu ích để hiểu và quản lý bố cục theo cách trực quan
- Đặc biệt hữu ích khi các thành viên trong nhóm cần thay đổi bố cục
- Bài viết này giải thích sự đơn giản và mạnh mẽ của grid template areas, qua đó khuyến khích nhiều người hơn sử dụng tính năng này
- Một dự án khác cung cấp tính năng tương tự là Flexbox
1 bình luận
Ý kiến Hacker News
Bị thu hút bởi bản demo hoạt ảnh, nhưng nó không được triển khai bằng CSS
Bài viết này nhấn mạnh các ưu điểm của Grid và sự rườm rà của cú pháp CSS
1/3không phải là phân số mà là một phạm vi từ 1 đến 31..3)Về Grid Garden và Flexbox Froggy
Không hiểu Grid hay Flexbox
floatTò mò không biết có phiên bản giới thiệu nhập môn nào của tài liệu này không
line numberlà gì1/3và1/4Rất khuyến nghị Mondrian with auto flow của Jen Simmons
Thắc mắc vì sao cú pháp lại được định nghĩa là
1/2và3/41-2hoặc1->2có vẻ dễ hiểu hơnThích các bài blog tương tác
Có lẽ đây là lần đầu tiên thực sự hiểu được CSS Grid