Tworzę układ w stylu karty, w którym poszczególne karty układają się pionowo. Przy wyższych szerokościach ekranu używa się coraz więcej kolumn kart - używając jak najmniejszej przestrzeni pionowej.Czy przedmioty flexbox wolą owijać, zamiast rozszerzać kontener?
Używam do tego układu flex-flow: column wrap
. Jednak stwierdzam, że pojemnik musi mieć numer height
lub max-height
, aby zachęcić karty do zawinięcia. Biorąc pod uwagę, że liczba kart i ich indywidualny rozmiar mogą ulec zmianie, nie jestem w stanie określić optymalnej wysokości, bez odcinania przedmiotów i zbyt dużej ilości miejsca poniżej.
Czy ktoś może mi powiedzieć, czy jest to możliwe, lub czy robię coś nie tak?
Snippet załączony.
.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>
Często też napotykałem ten problem. Aby uzyskać elastyczne elementy do zawijania w kierunku kolumny, należy zdefiniować wysokość. SMH. Problem nie występuje w kierunku szeregowym. Nie znalazłem jeszcze rozwiązania. Co gorsza, po rozwiązaniu tego problemu będziesz musiał sobie z tym poradzić: http://stackoverflow.com/q/33891709/3597276 –