Я хочу динамически отображать группы списков бутстрапов в нескольких столбцах, используя CSS columns, но у меня возникают некоторые странные проблемы с интервалом в Chrome. Firefox работает отлично. Это похоже на вопрос this guy had, но он никогда не получал ответа, возможно, потому, что он не представил хороший пример. Поэтому я приведу хороший пример.Неуравновешенные столбцы CSS в Chrome
CSS (загружается после Bootstrap):
.columns {
-webkit-column-width: 200px;
-moz-column-width: 200px;
column-width: 200px;
-webkit-column-gap: 20px;
-moz-column-gap: 20px;
column-gap: 20px;
width: 600px;
}
.list-group {
display: inline-block;
width: 100%;
}
HTML:
<div class="columns">
<ul class="list-group">
<li class="list-group-item">Cras justo odio</li>
<li class="list-group-item">Dapibus ac facilisis in</li>
<li class="list-group-item">Morbi leo risus</li>
</ul>
<ul class="list-group">
<li class="list-group-item">Porta ac consectetur ac</li>
<li class="list-group-item">Vestibulum at eros</li>
</ul>
<ul class="list-group">
<li class="list-group-item">Cras justo odio</li>
<li class="list-group-item">Dapibus ac facilisis in</li>
<li class="list-group-item">Morbi leo risus</li>
</ul>
<ul class="list-group">
<li class="list-group-item">Porta ac consectetur ac</li>
<li class="list-group-item">Vestibulum at eros</li>
</ul>
<ul class="list-group">
<li class="list-group-item">Cras justo odio</li>
<li class="list-group-item">Dapibus ac facilisis in</li>
<li class="list-group-item">Morbi leo risus</li>
</ul>
<ul class="list-group">
<li class="list-group-item">Porta ac consectetur ac</li>
<li class="list-group-item">Vestibulum at eros</li>
</ul>
</div>
Here it is on Bootply. Все хорошо в Firefox: первые 3 списка группы идут в первой колонке, следующий 3 идут в второй. Но в Chrome первые 4 идут в первом столбце, оставляя второй столбец очень коротким только с 2. Как я могу его сбалансировать?
(я также наблюдал еще одну проблему, описанную в the same question I linked to above где иногда Chrome будет создавать большой запас под колоннами, но я оставлю это для отдельного вопроса позже.)
Это все о 'column-fill: balance', который не поддерживается хром, и является значением по умолчанию' moz-column-fill' -> https://developer.mozilla.org/en-US/документы/Web/CSS/столбца заполнения. Попробуйте установить 'moz-column-fill: auto' для POC. – davidkonrad
'.columns {height: 400px; } 'похоже,« решает »проблему в хроме, но я уверен, что вы знаете об этом и хотите вместо этого найти реальное решение. – davidkonrad
'-moz-column-fill: auto', кажется, помещает все группы списка в один столбец. Имеет ли это смысл? Он по-прежнему отличается от Chrome, который разделяет его 4 и 2. Согласно [этому] (http://www.the-haystack.com/2012/06/01/multi-column-confusion/) Chrome должен балансировать по умолчанию. Кажется, может быть, он пытается сбалансировать, но просто делает очень плохую работу? – dumbmatter