Когда вы добавляете высоту к элементу с несколькими столбцами, вы можете управлять тем, как содержимое заполняет столбцы. Контент может быть сбалансирован или заполнен последовательно.
ul ( height: 300px; -webkit-columns: 3; -moz-columns: 3; columns: 3; -moz-column-fill: balance; column-fill: balance; )
Это свойство доступно только в Firefox. Firefox автоматически сбалансирует контент в многоколоночном макете с ограниченной высотой. Другие браузеры всегда будут заполнять столбцы последовательно, если задано ограничение по высоте.
Чтобы Firefox вел себя как другие браузеры, то есть заполнял столбцы последовательно, вы можете установить column-fill: auto
.
Значения
column-fill
принимает значения ключевых слов balance
и auto
.
balance
заполнит каждый столбец примерно одинаковым количеством содержимого, но не позволит столбцам вырасти выше, чем размер height
. Вы можете обнаружить, что столбцы будут короче, чем значок, height
поскольку браузер равномерно распределяет контент по горизонтали.
auto
будет заполнять каждый столбец до тех пор, пока он не достигнет, height
и делать это, пока не закончится контент. Учитывая содержимое, это значение не обязательно будет заполнять все столбцы или заполнять их равномерно.
Это все равно что наливать сок в стаканы. Вы можете налить равное количество сока в каждый стакан и обнаружить, что вы не наполняете каждый стакан до верха ( balance
). Или вы можете наполнить стакан доверху, пока он не станет полным, и повторять это, пока не останется сока. В результате в оставшихся стаканах может быть меньше сока или вообще не будет ( auto
).
См. Пример заполнения столбца пером (CSS-Tricks) от CSS-Tricks (@ css-tricks) на CodePen.
Поддержка браузера
Значения column-fill
ключевых слов специально работают в Firefox. Они не работали в августе 2014 г., когда изначально была написана эта запись в Альманахе, но работают при повторном тестировании в августе 2015 г. (Chrome 44). Во время этого тестирования кажется, что динамическое изменение значения не требуется, вам пришлось принудительно выполнить ретрансляцию.
Браузер поддерживает макет с несколькими столбцами в целом:
Хром | Сафари | Fire Fox | Опера | IE | Android | iOS |
---|---|---|---|---|---|---|
Любой | 3+ | 1.5+ | 11.1+ | 10+ | 2.3+ | 6.1+ |
Не забывайте свои префиксы!