у меня 4 столбца.Фактическое содержание для столбцов 1 и 4 составляет 150 пикселей, для столбца 2 - 250 пикселей, а для столбца 3 - 370 пикселей.Я хочу обернуть столбцы при изменении ширины браузера.Когда я уменьшаю ширину браузера, я хочу, чтобы каждый столбец уменьшался до минимальной ширины перед переносом.Так что я думаю, что 4-й столбец упал бы в следующий ряд со 100% шириной после того, как он упал ниже ширины 150 пикселей.
Вот что, я думал, должно было сработать:
repeat(auto-fit, minmax(max-content, 1fr))
Есть ли способ достичь этого, не передавая фиксированную ширину, где «max-content» равен?
Вот мое решение, использующее медиа-запросы и жесткие значения ширины
https://jsfiddle.net/9hjb5qv8/
Вот HTML / CSS, который я использовал в скрипте выше:
.container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(370px, 1fr));
grid-gap: 8px;
}
@media (max-width: 799px) {
.container {
grid-template-columns: minmax(max-content, 1fr);
}
}
@media (min-width: 800px) {
.container .p2,
.container .p3 {
grid-column: auto / span 2;
}
}
.container > div {
background-color: gray;
text-align: center;
}
<div class="container">
<div class="p1">
<img src="https://via.placeholder.com/150x150">
</div>
<div class="p2">
<img src="https://via.placeholder.com/250x150">
</div>
<div class="p3">
<img src="https://via.placeholder.com/370x150">
</div>
<div class="p4">
<img src="https://via.placeholder.com/150x150">
</div>
</div>