La differenza tra "flex" e "inline-flex"
Risposta breve:
Uno è in linea e l'altro risponde sostanzialmente come un elemento a blocchi (ma ha alcune delle sue differenze).
Risposta più lunga:
Inline-Flex - La versione inline di flex consente all'elemento, e ai suoi figli, di avere proprietà flex pur rimanendo nel flusso regolare del documento / pagina web. Fondamentalmente, puoi posizionare due contenitori flessibili in linea nella stessa riga, se le larghezze erano abbastanza piccole, senza alcun eccesso di stile per consentire loro di esistere nella stessa riga. Questo è abbastanza simile a "blocco in linea".
Flessione: il contenitore e i relativi figli hanno proprietà di flessione ma il contenitore riserva la riga, poiché viene rimosso dal normale flusso del documento. Risponde come un elemento a blocchi, in termini di flusso di documenti. Due contenitori flexbox non potrebbero esistere sulla stessa riga senza eccesso di stile.
Il problema che potresti avere
A causa degli elementi che hai elencato nel tuo esempio, anche se immagino, penso che tu voglia usare flex per visualizzare gli elementi elencati in modo uniforme riga per riga ma continui a vederli fianco a fianco.
Il motivo per cui probabilmente hai problemi è perché flex e inline-flex hanno la proprietà "flex-direction" predefinita impostata su "row". Questo mostrerà i bambini fianco a fianco. La modifica di questa proprietà in "colonna" consentirà agli elementi di impilare e riservare spazio (larghezza) uguale alla larghezza del suo genitore.
Di seguito sono riportati alcuni esempi per mostrare come funziona flex vs inline-flex e anche una breve demo di come funzionano gli elementi inline vs block ...
display: inline-flex; flex-direction: row;
Violino
display: flex; flex-direction: row;
Violino
display: inline-flex; flex-direction: column;
Violino
display: flex; flex-direction: column;
Violino
display: inline;
Violino
display: block
Violino
Inoltre, un ottimo documento di riferimento:
una guida completa a Flexbox - trucchi CSS
inline-flex
eflex
: jsfiddle.net/mgr0en3q/1 violino originale di @ fish-graphics e @astridx