×

Cách sử dụng grid-auto-rows - Tự động tạo hàng với kích thước cố định

CSS Grid là một công cụ mạnh mẽ trong việc sắp xếp và bố trí nội dung trên trang web theo dạng lưới. Một trong những tính năng hữu ích của CSS Grid là khả năng tự động tạo hàng với kích thước cố định thông qua thuộc tính grid-auto-rows. Thuộc tính này đặc biệt quan trọng khi bạn muốn kiểm soát chặt chẽ chiều cao của các hàng trong lưới mà không cần phải xác định chiều cao cho từng hàng cụ thể. Dưới đây là hướng dẫn chi tiết về cách sử dụng thuộc tính này.

Hiểu Về Thuộc Tính grid-auto-rows

Thuộc tính grid-auto-rows được sử dụng để định nghĩa chiều cao của các hàng tự động được tạo ra trong grid. Khi số lượng phần tử vượt quá số hàng được định nghĩa trong grid-template-rows, CSS Grid sẽ tự động thêm các hàng mới và chiều cao của các hàng này sẽ được xác định bởi giá trị của grid-auto-rows.

Cách Sử Dụng

Để sử dụng grid-auto-rows, bạn cần khai báo CSS Grid cho container và sau đó dễ dàng thêm thuộc tính này với giá trị phù hợp. Ví dụ mẫu dưới đây sẽ giúp bạn hiểu rõ hơn:

.container {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* Định nghĩa 3 cột */
  grid-auto-rows: 200px; /* Tự động tạo hàng mới với chiều cao 200px */
}

Trong ví dụ này, grid container sẽ có 3 cột với độ rộng bằng nhau và bất kỳ hàng nào tự động được thêm vào sẽ có chiều cao là 200px.

Các Đơn Vị Sử Dụng Được

Bạn có thể sử dụng một loạt các đơn vị khác nhau với grid-auto-rows, từ các đơn vị cố định như px cho tới các đơn vị linh hoạt như fr, hay thậm chí phần trăm. Dưới đây là một số ví dụ minh họa:

/* Đơn vị pixel */
.container {
  grid-auto-rows: 150px;
}

/* Đơn vị phần trăm */
.container {
  grid-auto-rows: 25%;
}

/* Đơn vị linh hoạt */
.container {
  grid-auto-rows: 1fr;
}

Sử Dụng Nhiều Giá Trị grid-auto-rows

Bạn cũng có thể định nghĩa nhiều giá trị cho grid-auto-rows để tạo ra những hàng có chiều cao khác nhau dựa vào thứ tự:

.container {
  grid-auto-rows: 100px 200px 300px;
}

Trong trường hợp này, hàng đầu tiên sẽ có chiều cao là 100px, hàng thứ hai là 200px, và hàng thứ ba là 300px. Sau đó, các hàng sẽ lặp lại theo chu kỳ các giá trị đã định nghĩa.

Ví Dụ Thực Tế

Giả sử bạn có một trang web quản lý ảnh, và bạn muốn tạo một lưới hiển thị ảnh với chiều cao của mỗi hàng là 250px, bạn có thể viết CSS như sau:

.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  grid-auto-rows: 250px;
  gap: 10px; /* Khoảng cách giữa các ô trong grid */
}

.photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

Trong ví dụ này, mỗi hàng tự động tạo ra sẽ có chiều cao 250px, và các ảnh sẽ tự động điều chỉnh để phù hợp với kích thước của ô grid.

Kết Luận

Thuộc tính grid-auto-rows mang lại nhiều lợi ích khi bạn cần tạo ra những bố cục web phức tạp mà vẫn đảm bảo tính nhất quán về kích thước của các hàng. Việc hiểu và sử dụng hiệu quả thuộc tính này sẽ giúp bạn tối ưu hóa quá trình xây dựng giao diện và cải thiện trải nghiệm người dùng.

Comments