Предположим, что у нас есть контейнер, чьи дети должны заполнить его в столбцах. Контейнер ограничен по высоте и должен быть таким же широким/узким, насколько это необходимо для всех потомков. Он должен выглядеть следующим образом:
Чтобы сделать это, я попробую flexbox
. Вопрос в том, возможно ли сделать его сжатым?
-
float:left
: в Chrome вообще ничего не делается, в Firefox контейнер имеет ширину только одного столбца - пример 1 -
position:absolute
: он не способствует нормальному потоку, поэтому отмените это.
Пока я сужу диапазон браузера до Chrome и FF.
HTML:
<div class="flexcontainer wrap column">
<div></div>
<div></div>
...
</div>
CSS:
.flexcontainer{
display: flex; /* make it a flexbox */
flex-flow: column wrap; /* make it a column container, and fill them one after another */
align-content: stretch;
align-items: center;
justify-content: center;
float: left; /* shrink-to-fit */
max-height: 450px; /* limit the height */
min-height: 300px;
}
.flexcontainer > div {
height: 100px;
margin: 3px;
width: 100px; /* set the width of descendants */
}
Спасибо!