Кратко
СкопированоСвойство column управляет тем, как контент в многоколоночной вёрстке будет разделяться на колонки в блоках с фиксированной высотой.
Как пишется
СкопированоМожно указать одно из двух ключевых слов:
auto;balance(значение по умолчанию).
.item1 { column-fill: auto;}.item2 { column-fill: balance;}
.item1 {
column-fill: auto;
}
.item2 {
column-fill: balance;
}
Ещё есть третье значение – balance, но его пока не внедрил ни один из браузеров. За процессом внедрения можно следить на Can I use.
Как понять
СкопированоЕсли мы указываем значение auto, колонки будут заполняться текстом последовательно. Если контент поместится в одну колонку, он не будет переноситься на следующую.
Если мы укажем balance, браузер будет пытаться сбалансировать контент между колонками настолько, насколько возможно.
column учитывается только в том случае, если у блока с многоколоночным контентом задана высота. Иначе браузеры будут распределять контент по колонкам автоматически.
Пример
СкопированоВ примере ниже у блока с текстом жёстко задана высота. Граница блока поможет визуализировать его размеры, а column покажет границу между колонками. После блока сразу идёт следующий раздел, представленный здесь только заголовком.
.text-wrapper { column-fill: balance; column-count: 4; column-rule: 1px solid yellow; height: 200px; border: 1px dashed white;}
.text-wrapper {
column-fill: balance;
column-count: 4;
column-rule: 1px solid yellow;
height: 200px;
border: 1px dashed white;
}
У нас получился большой отступ от контента до следующего заголовка. Чтобы избежать этого, давайте зададим column:
.text-wrapper { column-fill: auto; column-count: 4; column-rule: 1px solid yellow; height: 200px; border: 1px dashed white;}
.text-wrapper {
column-fill: auto;
column-count: 4;
column-rule: 1px solid yellow;
height: 200px;
border: 1px dashed white;
}
Теперь контент размещается в колонке до тех пор, пока хватает высоты, и только потом переходит в следующую колонку.