Ich habe eine Flexbox mit zwei Elementen eingerichtet, die auf einem normalen Bildschirm links und rechts sein sollten.
Wenn der Bildschirm nicht groß genug ist, um beide nebeneinander anzuzeigen, sollte er umbrechen, aber dann sollten sie zentriert und nicht links ausgerichtet sein.
Ich habe verschiedene Lösungen ausprobiert (wie die Verwendung von margin: auto
auf den untergeordneten Elementen), aber dadurch wurden sie mehr in der Mitte ausgerichtet, selbst wenn sie sich in derselben Reihe befinden.
Hier ist ein vereinfachtes Beispiel:
.container {
display: flex;
align-items: flex-end;
flex-wrap: wrap;
justify-content: space-between;
border: 1px solid black;
margin-bottom: 25px;
}
.large {
width: 500px;
}
.small {
width: 175px;
}
.item {
width: 100px;
height: 100px;
background-color: blue;
margin: 25px 0px;
}
<div class="container large">
<div class="item"></div>
<div class="item"></div>
</div>
<div class="container small">
<div class="item"></div>
<div class="item"></div>
</div>
https://jsfiddle.net/SoWhy/zfx4ub8x/
Der erste Container ist die beabsichtigte Positionierung, der zweite Container emuliert denselben Container auf einem kleineren Bildschirm, beachten Sie die Ausrichtung nach links.
Gibt es eine Möglichkeit zu definieren, dass die Flexbox die Elemente beim Umwickeln anders ausrichten soll, oder kann ich dies nur mit der Methode “@media screen” tun (bei der ich eine bestimmte Größe festlegen muss und daher nicht flexibel ist, wenn die Größe der Elemente Änderungen)?
Nein, Flexbox kann das nicht … es ist eine häufige Anfrage.
– Paulie_D
10. Juli 2016 um 13:18 Uhr