Wie kann man Kinder dehnen, um die Querachse zu füllen?


141

Ich habe eine Links-Rechts-Flexbox:

.wrapper {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
  height: 70vh;
  min-height: 325px; 
  max-height:570px; 
}
<div class="wrapper">
  <div class="left">Left</div>
  <div class="right">Right</div>
</div>

Das Problem ist, dass sich das richtige Kind nicht reagiert. Um genau zu sein, möchte ich, dass es die Höhe des Wrappers ausfüllt.

Wie erreicht man das?


es füllt die Höhe der Verpackung! Ich habe es in Chrome und Firefox getestet und es gab kein Problem. Vielleicht haben Sie Ihren Code zu stark vereinfacht. Sie können dies testen, indem Sie background-colorfür Kinder oder align-items: centerin Wrapper einstellen .
Samad Montazeri

Ja, die Höhe des Wrappers ist aus bestimmten Gründen nicht in Safari ausgefüllt ... Chrome und Firefox
tun

Antworten:


175
  • Die untergeordneten Elemente eines Row-Flexbox-Containers füllen automatisch den vertikalen Raum des Containers aus.

  • Geben Sie flex: 1;für ein Kind an, ob es den verbleibenden horizontalen Raum ausfüllen soll:

.wrapper {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
  height: 5em;
  background: #ccc;
}
.wrapper > .left
{
  background: #fcc;
}
.wrapper > .right
{
  background: #ccf;
  flex: 1; 
}
<div class="wrapper">
  <div class="left">Left</div>
  <div class="right">Right</div>
</div>

  • Geben Sie flex: 1;für beide Kinder an, ob sie den horizontalen Raum zu gleichen Teilen ausfüllen sollen:

.wrapper {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
  height: 5em;
  background: #ccc;
}
.wrapper > div 
{
  flex: 1; 
}
.wrapper > .left
{
  background: #fcc;
}
.wrapper > .right
{
  background: #ccf;
}
<div class="wrapper">
  <div class="left">Left</div>
  <div class="right">Right</div>
</div>


37
flexist eine zusammenfassende Eigenschaft für flex-grow, flex-shrinkund flex-basis. flex: 1;ist äquivalent zu flex-grow: 1;.
Rory O'Kane

2
Scheint align-items: stretch;nicht nötig zu sein
Matt
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.