Sto creando un layout in stile carta, in cui le singole carte si impilano verticalmente. A larghezze dello schermo più alte, vengono utilizzate sempre più colonne di carte, usando il minor spazio verticale possibile.Gli elementi della flexbox possono preferire il wrap anziché l'espansione del contenitore?
Sto usando un layout flex-flow: column wrap
per farlo. Tuttavia, quello che trovo è che il contenitore è necessario per avere un height
o max-height
al fine di incoraggiare le carte da avvolgere. Dato che il numero di carte e le loro dimensioni individuali possono cambiare, non posso dire quale sarà questa altezza in modo ottimale senza tagliare oggetti o avere uno spazio eccessivo sotto.
Qualcuno può dirmi se è possibile o se sto facendo qualcosa di sbagliato?
Snippet allegato.
.card-container {
display: flex;
flex-flow: column wrap;
align-items: stretch;
}
.card {
flex: 0 0 auto;
width: 15rem;
margin: 0.5rem;
background-color: #f4f4f4;
/* max-height: ??? */
}
<div class="card-container">
<div class="card" style="height: 20em"></div>
<div class="card" style="height: 17em"></div>
<div class="card" style="height: 5em"></div>
<div class="card" style="height: 10em"></div>
<div class="card" style="height: 21em"></div>
<div class="card" style="height: 10em"></div>
<div class="card" style="height: 17em"></div>
<div class="card" style="height: 8em"></div>
<div class="card" style="height: 20em"></div>
<div class="card" style="height: 16em"></div>
<div class="card" style="height: 19em"></div>
<div class="card" style="height: 10em"></div>
<div class="card" style="height: 5em"></div>
</div>
Ho riscontrato spesso questo problema. Al fine di ottenere elementi flessibili per avvolgere in direzione della colonna, deve essere definita un'altezza. SMH. Il problema non si verifica in direzione della riga. Non ho ancora trovato una soluzione. Peggio ancora, una volta risolto il problema, dovrai occupartene: http://stackoverflow.com/q/33891709/3597276 –