Ich habe ein div mit display: flex; flex-direction: row;
. Die Kinder dieses Divs nehmen die volle Höhe, wenn ich nicht align-items: center
angeben. Code unten -Stretch Höhe mit Flexbox align-Artikel Mitte
.row {
display: flex;
flex-direction: row;
width: 100%;
height: 100px;
background: beige;
border: 1px solid red;
margin: 10px 0;
}
.row2 {
align-items: center;
}
.row-item {
border: 1px solid green;
}
.item1,
.item3 {
width: 100px;
}
.item2 {
flex: 1;
}
<div class="row row1">
<div class="row-item item1">1</div>
<div class="row-item item2">
<div> 2.1 </div>
<div> 2.2 </div>
</div>
<div class="row-item item3">3</div>
</div>
<div class="row row2">
<div class="row-item item1">1</div>
<div class="row-item item2">
<div> 2.1 </div>
<div> 2.2 </div>
</div>
<div class="row-item item3">3</div>
</div>
Was ich will, ist zu erreichen, dass 2.1 und 2.2 sollte 50px (50%) Höhe nehmen und sollte sein Gehalt Mitte vertikal ausgerichtet haben. Sie sollten auch den gesamten verfügbaren Platz horizontal strecken (wie Breite: automatisch oder 100%). Dann, wenn 2.1 nicht vorhanden ist, sollte 2.2 100px Höhe nehmen und vertikal zur Mitte ausgerichtet sein.
Hallo, ich möchte jeden div, die die Reihe Artikel ist innerhalb werden zentral ausgerichtet sind. Haben Sie eine Idee, wie Sie das erreichen können? Habe gerade die Frage aktualisiert, um das zu berücksichtigen. – jaibatrik
@jaibatrik meinst du dasselbe Ergebnis wie row2, aber mit voller Höhe von row-items? – Chiller
Ja, das möchte ich erreichen; 2.1 und 2.2 sollte 50px (50%) Höhe und sollte seinen Inhalt in der Mitte vertikal ausgerichtet haben. Sie sollten auch den gesamten verfügbaren Platz horizontal strecken (wie Breite: automatisch oder 100%). – jaibatrik