Próbuję wypełnić pionową przestrzeń elementu Flex w Flexbox.
.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>
A oto JSFiddle
flex-2-child
nie wypełnia wymaganej wysokości, z wyjątkiem dwóch przypadków, w których:
flex-2
ma wysokość 100% (co jest dziwne, ponieważ element elastyczny ma domyślnie 100% + jest wadliwy w Chrome)flex-2-child
ma pozycję absolutną, co również jest niewygodne
To obecnie nie działa w Chrome ani Firefox.
height:100%
ale zamiast tego renderują z naturalną wysokością. Dziwne jest to, że jeśli zmienię ich wysokość na auto
, to renderują tak, height:100%
jak próbowałem. To zdecydowanie nie jest intuicyjne, jeśli tak powinno działać.