Я думаю, проблема в том, что вы установили фиксированную высоту на свой контейнер. С фиксированной высотой столбцы не могут расти, поэтому механизм рендеринга сохраняет больше столбцов в соответствии с вашим содержимым внутри контейнера.
Если вы отключите overflow: hidden
в своей скрипке, вы увидите, что на самом деле у вас больше колонок, переполненных со стороны вашего окна. padding
позволяет только часть одной из них быть видимой.
Основная причина здесь балансировка по высоте. From MDN:
CSS3 спецификация столбца требует, чтобы высота столбцов должны быть сбалансированы : то есть, браузер автоматически задает максимальную высоту столбца так, чтобы высота содержимого в каждом столбце примерно равны. Firefox делает это.
Однако в некоторых ситуациях это также полезно установить максимальную высоту столбцов в явном виде, а затем выложить содержимое, начиная с первого столбца и создать столько столбцов, сколько необходимо, возможно, перелива вправо. Поэтому, если высота ограничена, то с помощью , устанавливающего свойства высоты CSS или max-height в многоколоночном блоке , каждому столбцу разрешено расти до этой высоты и не следует дополнительно перед добавлением нового столбца. Этот режим также намного эффективнее для макета .
Поскольку вы установили высоту, балансировка по высоте говорит о том, что браузер установит колонки на эту высоту и создаст столько столбцов, сколько необходимо для отображения вашего контента.
Вам нужно будет удалить фиксированную высоту, если вы хотите, чтобы ваши столбцы росли и правильно работали и подчинялись вашей собственности column-count
.
Высота/мин-высота заставляют его обертываться, когда текст требует больше места, чем три столбца. Я не понимаю, почему это поведение все еще происходит, если высота удалена, и вы указываете только минимальную высоту - высота, похоже, не корректируется. Если вы можете уйти с удалением высоты и минимальной высоты, она должна работать. – kgiff