Как сделать самоперестраивающийся список?
Какую же хрень пишут в ответах, флексы, гриды... Вообще не к месту.
Не могу на это смотреть. Держите:snippet
через css grid#parent {
  display: grid;
  grid-template-rows: repeat(auto-fit, minmax(250px, 1fr));
}
auto-fit - это когда новый элемент, не помещающийся по ширине/ высоте в родительский блок, будет отображен в новом ряду/ колонке. например, родитель шириной 500px, содержит два блока по 250px минимум - при добавлении нового блока, блок либо уйдет в новый ряд (grid-template-columns), либо в новую колонку (grid-template-rows).