Der Unterschied zwischen "Flex" und "Inline-Flex"
Kurze Antwort:
Einer ist inline und der andere reagiert im Grunde wie ein Blockelement (hat aber einige seiner eigenen Unterschiede).
Längere Antwort:
Inline-Flex - Die Inline-Version von Flex ermöglicht es dem Element und seinen untergeordneten Elementen, Flex-Eigenschaften zu haben, während es weiterhin im regulären Fluss des Dokuments / der Webseite verbleibt. Grundsätzlich können Sie zwei Inline-Flex-Container in derselben Reihe platzieren, wenn die Breiten klein genug sind, ohne dass ein übermäßiges Styling erforderlich ist, damit sie in derselben Reihe vorhanden sind. Dies ist ziemlich ähnlich zu "Inline-Block".
Flex - Der Container und seine untergeordneten Elemente haben Flex-Eigenschaften, aber der Container reserviert die Zeile, da sie aus dem normalen Fluss des Dokuments entfernt wird. Es reagiert in Bezug auf den Dokumentenfluss wie ein Blockelement. Zwei Flexbox-Container könnten ohne übermäßiges Styling nicht in derselben Reihe vorhanden sein.
Das Problem, das Sie möglicherweise haben
Aufgrund der Elemente, die Sie in Ihrem Beispiel aufgelistet haben, möchten Sie, obwohl ich vermute, Flex verwenden, um die aufgelisteten Elemente gleichmäßig zeilenweise anzuzeigen, aber die Elemente weiterhin nebeneinander anzeigen.
Der Grund, warum Sie wahrscheinlich Probleme haben, ist, dass für Flex und Inline-Flex die Standardeigenschaft "Flex-Richtung" auf "Zeile" festgelegt ist. Dadurch werden die Kinder nebeneinander angezeigt. Wenn Sie diese Eigenschaft in "Spalte" ändern, können Ihre Elemente Platz (Breite) stapeln und reservieren, der der Breite des übergeordneten Elements entspricht.
Im Folgenden finden Sie einige Beispiele, die zeigen, wie Flex vs Inline-Flex funktioniert, sowie eine kurze Demo, wie Inline vs Block-Elemente funktionieren ...
display: inline-flex; flex-direction: row;
Geige
display: flex; flex-direction: row;
Geige
display: inline-flex; flex-direction: column;
Geige
display: flex; flex-direction: column;
Geige
display: inline;
Geige
display: block
Geige
Außerdem ein großartiges Referenzdokument:
Eine vollständige Anleitung zu Flexbox - CSS - Tricks
inline-flex
undflex
: jsfiddle.net/mgr0en3q/1 Original-Geige von @ fish-graphics und @astridx