У меня есть jsfiddle .
Что у меня есть : 
Что я хочу : 
Задача :
Надеемся, что соответствующий раздел:
grid-template-columns: repeat(auto-fit, 1fr);
где оба элемента в моем разделе имеют width: max-content;
.
Этот (и расширенная, но технически идентичная форма repeat(auto-fit, minmax(auto, 1fr));
) не делает то, что я ожидаю - он создает изображение 1, я ожидаю, что оно будет похоже на изображение 2 Похоже, что минимальная ширина для этих элементов слишком велика, поэтому вместо того, чтобы находиться в одной строке, она помещает их в столбцы.
Я сделал рисунок 2, изменив код на repeat(auto-fit, minmax(200px, 1fr));
. Это не очень хорошее решение, так как я хочу, чтобы минимальный размер элемента основывался на ширине элементов сетки, а не на произвольном значении.
Я хочу, чтобы элементы могли находиться в разных строках (например, Если браузер очень узкий), то сетка CSS кажется полезной для этой задачи. Я, очевидно, просто неправильно понимаю какой-то ключевой аспект.
Вопрос
Какое значение я могу использовать в своем grid-template-columns
, чтобы мои элементы работали так, как я ожидаю от CSS сетка? Есть ли способ сделать это с помощью repeat(auto-fit, X);
или мне нужно указать номер?
Ответ
Как указано ниже, вы не можете использовать repeat(auto-fit
с fr
, поскольку в нем не указан абсолютный минимум или максимум, который задан c говорит неверно. Michael_B дал ответ (в своем примере с примером jdfiddle) об использовании
display: flex;
flex-wrap: wrap;
, что в точности соответствует ожиданиям repeat(auto-fit, 1fr);
.