Ich versuche, den vertikalen Platz eines Flex-Elements innerhalb eines Flexbox auszufü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;
}
Und hier ist der JSFiddle
flex-2-child
füllt die erforderliche Höhe nicht aus, außer in den beiden Fällen, in denen:
flex-2
eine Höhe von 100% hat (was seltsam ist, weil ein Flex-Element standardmäßig 100% hat + es in Chrome fehlerhaft ist)flex-2-child
position:absolute hat, was auch unpraktisch ist
Dies funktioniert derzeit nicht in Chrome oder Firefox.
0 Stimmen
Was ist das Problem bei der Verwendung von height:100%; für .flex-2?
3 Stimmen
Es widersetzt sich dem Zweck des Flex-Elements, das den Inhalt von selbst füllen soll, und es bringt mir den seltsamsten Fehler in Chrome, wo die Höhe immer wieder auf null zurückgeht, wenn ich das Fenster neu dimensioniere
0 Stimmen
Firefox-Versionen, die immer noch der Spezifikation von 2009 (display: box) folgen, verhalten sich sehr unterschiedlich von Versionen, die der modernen Spezifikation folgen. Wenn FF sich schlecht verhält, würde ich empfehlen, die Unterstützung dafür einzustellen.
4 Stimmen
Eigentlich ist die neueste Version von Firefox die einzige, die ordnungsgemäß funktioniert
2 Stimmen
Derzeit gibt es erhebliche Unterschiede im Verhalten der Browser bei der Darstellung von Prozent-Höhen in Flexbox: stackoverflow.com/a/35537510/3597276
6 Stimmen
Ja, Chrome hat einige Probleme, insbesondere mit verschachtelten Flexboxen. Zum Beispiel habe ich eine verschachtelte Flexbox mit Kindern, die
height:100%
haben, aber sie werden mit natürlicher Höhe gerendert. Und das Seltsame ist, wenn ich ihre Höhe aufauto
ändere, dann werden sie alsheight:100%
gerendert, wie ich es versucht habe. Es ist definitiv nicht intuitiv, wenn das so funktionieren soll.1 Stimmen
Es funktioniert überhaupt nicht...
0 Stimmen
Sieht so aus, als würde im Jahr 2022 eine Höhe von 100 % bei Flex-Kindern funktionieren.