la differenza tra "flex" e "inline-flex"
Risposta breve:
Uno è in linea e l'altra risponde fondamentalmente come un elemento di blocco (ma ha alcune delle essa la propria le differenze).
Più rispondere:
Inline-Flex - La versione in linea di Flex permette all'elemento, ed è figli, di avere proprietà di flessione pur rimanendo nel flusso regolare del documento/pagina web. In sostanza, puoi posizionare due contenitori flex in linea nella stessa riga, se le larghezze fossero abbastanza piccole, senza eccessi di stile per consentire loro di esistere nella stessa riga. Questo è molto simile a "inline-block".
Flex: il contenitore e i suoi bambini hanno proprietà flessibili, ma il contenitore si riserva la riga, poiché viene tolto dal normale flusso del documento. Risponde come un elemento di blocco, in termini di flusso di documenti. Due contenitori Flexbox non potrebbero esistere sulla stessa fila senza eccessi di styling.
Il problema si potrebbe avere
causa gli elementi che hai elencato nel tuo esempio, se sto indovinando, penso che si desidera utilizzare Flex per visualizzare gli elementi elencati in un ancora-by-fila fila alla moda ma continua a vedere gli elementi fianco a fianco.
Il motivo per cui è probabile che si verifichino problemi è dovuto al fatto che flex e inline-flex hanno la proprietà "flex-direction" predefinita impostata su "row". Questo mostrerà i bambini affiancati. La modifica di questa proprietà in "colonna" consentirà ai tuoi 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 rapida dimostrazione di come gli elementi inline vs block funzionano ...
display: inline-flex; flex-direction: row;
Fiddle
display: flex; flex-direction: row;
Fiddle
display: inline-flex; flex-direction: column;
Fiddle
display: flex; flex-direction: column;
Fiddle
display: inline;
Fiddle
display: block
Fiddle
Inoltre, una grande doc di riferimento: A Complete Guide to Flexbox - css tricks
OP, si prega di indicare uno della risposta fornita come * accettato * facendo clic sul segno di spunta sulla lato sinistro della risposta. – domsson