Только что нашел flex сегодня, и я надеюсь, что он решит небольшую визуальную задачу.CSS Flex Column Layout без указанной высоты
У меня есть список предметов, отсортированных по алфавиту. Все они имеют одинаковую ширину, и до сих пор у меня они плавали влево. Это приводит к порядку слева направо с упаковкой, когда заканчивается горизонтальное пространство.
То, что я надеялся сделать, состоит в сортировке сверху вниз с максимально возможным количеством столбцов с доступной шириной. Увидев, что этот список является динамическим, высота будет переменной. И высота должна увеличиваться по мере того, как горизонтальное пространство теряется (изменяет размер), предотвращая столько столбцов.
Учитывая очевидную природу того, что пытается выполнить flex, я бы подумал, что это будет поддерживаться, но до сих пор я не могу понять это. «display: flex» и «flex-flow: wrap wrap» кажутся правильными, но для этого требуется определенная высота для работы, которую я не могу предоставить.
Я что-то упустил?
Edit: Я создал JSFiddle, чтобы играть здесь: https://jsfiddle.net/7ae3xz2x/
ul {
display: flex;
flex-flow: column wrap;
height: 100px;
}
ul li {
width: 150px;
list-style-type: none;
border: 1px solid black;
text-align: center;
}
Если взять высоту выключения ул, ничего не заворачивает.
Похоже, что концептуальная проблема заключается в том, что поток «столбцов» связан с высотой контейнера, а не с шириной, что я и хочу. Меня не волнует, насколько высока область. Мне нужно иметь как можно больше столбцов в доступной ширине. Возможно, это всего лишь раздражающий недостаток гибкой конвенции.
Post код, который вы сейчас используете для получить выход. –
Как @ManojKumar говорит, либо предоставит некоторый код и/или изображение желаемого вывода. –
К сожалению, высота окна просмотра всегда будет направлена вниз, чтобы разместить контент. Если вы не укажете высоту явно, вы не получите никакой упаковки. –