Việc sử dụng grid-template-columns: repeat(auto-fit, minmax(600px, 1fr))
giúp dễ dàng xây dựng lưới CSS đáp ứng. Vùng chứa sẽ được lấp đầy với nhiều thành phần phù hợp với một hàng, mà không sử dụng truy vấn phương tiện.Các mục đáp ứng đầy đủ với lưới CSS và tự động điều chỉnh minmax
.container {
display: grid;
grid-gap: 5px;
grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
}
.item {
height: 100px;
background: #ccc;
}
<div class="container">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
Vấn đề là các mặt hàng là rộng hơn so với màn hình khi màn hình nhỏ hơn min-giá trị quy định tại minmax()
. Bạn có thể khắc phục điều này bằng cách thêm truy vấn phương tiện tại 400px
, nhưng điều này chỉ hoạt động khi bạn biết rằng không có nội dung nào xung quanh vùng chứa. Và đó là hầu như không thể khi các container có thể được đặt bất cứ nơi nào.
Có cách nào hay tài sản để nói cho các mục mà chúng không bao giờ nên rộng hơn 100%?
Thứ gì đó như: Đổ đầy thùng chứa với nhiều mục 400px nhất có thể, nhưng đảm bảo rằng chúng không rộng hơn 100% chiều rộng của vùng chứa.
Thông tin thêm về tự động điền và tự động điều chỉnh kích thước: https://blog.jonstodle.com/responsive-layout-with-css-grid-part-2-auto- fit-auto-fill/ – tobi
Vì có các yếu tố khác trên trang, truy vấn phương tiện của bạn sẽ phải dựa trên toàn bộ bố cục, không chỉ một vùng chứa này. Vì vậy, khi * tất cả nội dung * trên trang nén vùng chứa này xuống 400px, sau đó kích hoạt truy vấn phương tiện ... –
Nếu không, hãy sử dụng tập lệnh chuyển giá trị của 'grid-template-columns' khi phát hiện chiều rộng là 400px thùng chứa. –