Ho un contenitore con un numero variabile di elementi. Gli elementi devono essere giustificati ma con uno spazio fisso tra (ad esempio 20px
). Ciò significa che la larghezza di ogni elemento deve adattarsi.Giustificare elementi con spazio fisso (larghezza variabile)
Per esempio, questo:
HTML
<div class="container">
<div>
<img src="...">
</div>
<div>
<img src="...">
</div>
<div>
<img src="...">
</div>
</div>
CSS
div.container {
text-align: justify;
}
div.container div {
display: inline-block;
margin-right: 20px;
}
div.container div img {
width: 100%;
}
Alla fine dovrebbe assomigliare a questo (Questa immagine mostra due esempi: 2 elementi e 3 elementi: la larghezza è dinamica ma la correzione dello spazio [20px]):
Dovrebbe funzionare con un diverso numero di elementi figlio.
Esiste un modo professionale per farlo con i CSS?
EDIT: Devo dire che questo spazio di correzione è un valore%!
FlexBox non è supportato in IE8 e IE9, suppongo utilizzando la tabella è un'idea migliore come ha fatto nella sua risposta @Salman . – 4dgaurav
@ 4dgaurav Ecco perché ho iniziato la mia risposta con 'Se usare Flexbox è un'opzione ...' :) –
Grazie per la tua grande risposta, funziona perfettamente. Ovviamente l'IE8 e IE9 sono un problema, ma è fantastico. Non riesco a utilizzare la soluzione table-cell perché il mio spazio di correzione è un valore percentuale. –