Uso le Flexbox in Google Chrome (solo questo browser deve essere supportato) per creare un layout dinamico. Ho n elementi figlio in un elemento div che dovrebbe condividere l'intero spazio con lo stesso rapporto. Questo funziona senza problemi a causa delle nuove scatole flessibili introdotte. Ma ho anche dovuto impostare l'altezza di ogni div interno a 0. Se voglio estendere un elemento all'interno di questo div all'altezza 100%, usa il valore dato di 0 invece di qualsiasi valore calcolato. Siccome ho scelto i flex-box per evitare l'uso di javascript, preferirei rimanere così. C'è un altro modo per rendere l'altezza dell'immagine riempiendo il div?Utilizzo dei valori percentuali per riempire gli articoli della Flexbox
E qui è il codice (testato solo in Google Chrome):
html
<div class="flexbox">
<div><img src="chrome-logo.png" /></div>
<div><img src="chrome-logo.png" /></div>
<div><img src="chrome-logo.png" /></div>
<div><img src="chrome-logo.png" /></div>
</div>
css
.flexbox {
display:-webkit-box;
-webkit-box-orient:vertical;
height:300px;
width:200px;
}
.flexbox > div {
-webkit-box-flex:1;
height:0;
border:solid 1px #000000;
}
.flexbox > div > img {
height:100%;
}
The code to watch in the browser
Perché è stato necessario impostare l'altezza su 0? Se non hai intenzione di impostare in modo esplicito l'altezza, cosa ti aspetti che il '100%' sia al cento per cento? – robertc
L'ho fatto per dividere l'intero spazio disponibile in parti della stessa dimensione. Altrimenti viene assegnato solo lo spazio rimanente (senza il contenuto). È il comportamento di usare la funzione flex descritta in quella mail: [http://lists.w3.org/Archives/Public/www-style/2011Nov/0770.html](http://lists.w3.org/ Archivi/Pubblico/www-style/2011Nov/0770.html) –