Разница между "flex" и "inline-flex"
Короткий ответ:
Один встроенный, а другой в основном отвечает как блочный элемент (но имеет некоторые свои отличия).
Более длинный ответ:
Inline-Flex - встроенная версия flex позволяет элементу и его дочерним элементам иметь свойства flex, оставаясь при этом в обычном потоке документа / веб-страницы. По сути, вы можете разместить два встроенных гибких контейнера в одном ряду, если ширина была достаточно малой, без какого-либо лишнего стиля, позволяющего им существовать в одном ряду. Это очень похоже на «встроенный блок».
Flex - Контейнер и его дочерние элементы имеют свойства flex, но контейнер резервирует строку, поскольку она извлекается из обычного потока документа. Он отвечает как блочный элемент с точки зрения потока документов. Два контейнера flexbox не могут существовать в одном ряду без лишней стилизации.
Проблема у вас может быть
Из-за элементов, которые вы перечислили в своем примере, хотя я предполагаю, я думаю, вы хотите использовать flex, чтобы отображать элементы, перечисленные равномерно, строка за строкой, но продолжайте видеть элементы рядом друг с другом.
Причина, по которой у вас, вероятно, возникли проблемы, заключается в том, что для flex и inline-flex свойство flex-direction по умолчанию имеет значение «row». Это будет отображать детей рядом. Изменение этого свойства на «столбец» позволит вашим элементам складываться и резервировать пространство (ширину), равное ширине его родительского элемента.
Ниже приведены некоторые примеры, показывающие, как работает flex vs-flex, а также краткая демонстрация того, как элементы inline vs block работают ...
display: inline-flex; flex-direction: row;
скрипка
display: flex; flex-direction: row;
скрипка
display: inline-flex; flex-direction: column;
скрипка
display: flex; flex-direction: column;
скрипка
display: inline;
скрипка
display: block
скрипка
Кроме того, отличный справочный документ:
Полное руководство по Flexbox - трюки CSS
inline-flex
иflex
: jsfiddle.net/mgr0en3q/1 Оригинала скрипки на @ рыба-графике и @astridx