Flexbox 内の flex アイテムの垂直スペースを埋めようとしています。
.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>
そしてこれがJSFiddle
flex-2-child
次の 2 つの場合を除き、必要な高さを満たすことができません。
flex-2
高さは 100% です (フレックス アイテムはデフォルトで 100% なので奇妙です。また、Chrome ではバグがあります)flex-2-child
絶対的な位置を持っているが、これも不便である
現在、Chrome や Firefox では動作しません。
ベストアンサー1
使用align-items: stretch
David Storey の回答と同様に、私の回避策は次のとおりです。
.flex-2 {
display: flex;
align-items: stretch;
}
height: 100%
子コンポーネントから削除する必要があることに注意してください(コメントを参照)。
の代わりに、伸ばしたいアイテムだけにalign-items
使用することも可能です。align-self
.flex-2-child