Ich versuche, den vertikalen Raum eines Flex-Elements in einer Flexbox zu füllen.
.container {
height: 200px;
width: 500px;
display: flex;
flex-direction: row;
}
.flex-1 {
width: 100px;
background-color: blue;
}
.flex-2 {
position: relative;
flex: 1;
background-color: red;
}
.flex-2-child {
height: 100%;
width: 100%;
background-color: green;
}
<div class="container">
<div class="flex-1"></div>
<div class="flex-2">
<div class="flex-2-child"></div>
</div>
</div>
Und hier ist die JSFiddle
flex-2-child
füllt die erforderliche Höhe nur in den beiden Fällen aus, in denen:
flex-2
hat eine Höhe von 100% (was seltsam ist, weil ein Flex-Element standardmäßig 100% hat + es ist in Chrome fehlerhaft)flex-2-child
hat eine absolute Position, die auch unpraktisch ist
Dies funktioniert derzeit nicht in Chrome oder Firefox.
height:100%
diese haben, aber stattdessen mit natürlicher Höhe rendern. Und das Seltsame ist, wenn ich ihre Größe auf ändere auto
, rendern sie so, height:100%
wie ich es versucht habe. Es ist definitiv nicht intuitiv, ob es so funktionieren sollte.