Ich erstelle ein kartenartiges Layout, in dem einzelne Karten vertikal gestapelt werden. Bei höheren Bildschirmbreiten werden immer mehr Kartenspalten verwendet - mit möglichst wenig vertikalem Platzbedarf.Können Flexbox-Produkte lieber gewickelt werden, anstatt ihren Container zu erweitern?
Ich verwende ein flex-flow: column wrap
Layout, um dies zu tun. Was ich jedoch finde, ist, dass der Behälter eine height
oder max-height
haben muss, um die Karten zum Umwickeln zu ermutigen. Angesichts der Tatsache, dass sich die Anzahl der Karten und ihre individuelle Größe ändern können, kann ich nicht sagen, wie hoch diese Höhe sein wird, ohne Gegenstände abzuschneiden oder zu viel Platz darunter zu haben.
Kann mir jemand sagen, ob das möglich ist oder ob ich etwas falsch mache?
Snippet angehängt.
.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>
Ich habe dieses Problem auch häufig angetroffen. Um zu erreichen, dass Flex-Elemente in Spaltenrichtung umbrechen, muss eine Höhe definiert werden. SMH. Problem tritt nicht in Zeilenrichtung auf. Ich habe noch keine Lösung gefunden. Schlimmer noch, sobald Sie dieses Problem lösen, müssen Sie damit umgehen: http://stackoverflow.com/q/33891709/3597276 –