Есть ли способ выравнивания элементов в нескольких столбцах, где количество столбцов зависит от самого широкого элемента? Высота элемента и ширина контейнера фиксированы, но ширина элемента динамическая.
Я ищу способ только для CSS, чтобы добиться следующего поведения:
(Предположим, что родительский контейнер имеет ширину 300 пикселей.)
- Если самый широкий элемент имеет ширину более 150 пикселей, используйте один столбец
- Если самый широкий элемент находится между 100px и 150px, используйте два столбца
- Если самый широкий элемент меньше 100px, используйте три столбца
- ...
- Если самый широкий элемент меньше ширины контейнера /N, используйте N столбцов
Одним из возможных способов получения этого поведения может быть использование display:inline-block
и установка свойства width
в ширину самого широкого элемента в контейнере с использованием JavaScript.
См. этот JSFiddle для примера:
Однако я думаю, что также должен быть способ только для CSS. Возможно ли это?
Если нет, возможно, существует элегантный способ только для CSS-распределения/привязки элементов динамического размера к столбцам в контейнере с фиксированной шириной?