「フレックス」と「インラインフレックス」の違い
短い答え:
1つはインラインで、もう1つは基本的にブロック要素のように応答します(ただし、独自の違いもあります)。
より長い答え:
インラインフレックス-インラインバージョンのフレックスを使用すると、要素とその子がフレックスプロパティを保持しながら、ドキュメント/ Webページの通常のフローを維持できます。基本的に、幅が小さければ、同じ行に2つのインラインフレックスコンテナーを配置できます。幅を十分に小さくして、同じ行にそれらを配置するための余分なスタイルを設定する必要はありません。これは「インラインブロック」によく似ています。
Flex-コンテナとその子にはflexプロパティがありますが、コンテナは行を予約します。これは、ドキュメントの通常のフローから取り出されるためです。文書の流れという点では、ブロック要素のように応答します。2つのフレックスボックスコンテナーは、過剰なスタイリングなしでは同じ行に存在できません。
あなたが抱えている問題
あなたの例にリストした要素が原因で、私は推測していますが、flexを使用して、リストされた要素を行ごとに均等に表示し、引き続き要素を並べて表示したいと思います。
問題が発生する可能性があるのは、flexとinline-flexのデフォルトの "flex-direction"プロパティが "row"に設定されているためです。これにより、子が並べて表示されます。このプロパティを "column"に変更すると、要素を積み重ねて、親の幅と同じスペース(幅)を予約できます。
以下はflexとinline-flexがどのように機能するかを示すいくつかの例と、インライン要素とブロック要素がどのように機能するかの簡単なデモです...
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によってオリジナルフィドル