我正在尝试填充 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>
这是 JSFiddle
flex-2-child
不填充所需的高度,除非在以下两种情况下:
flex-2
高度为 100%(这很奇怪,因为弹性项目默认为 100% + 它在 Chrome 中是错误的)flex-2-child
有一个绝对位置,这也很不方便
目前这在 Chrome 或 Firefox 中不起作用。
原文由 Raz 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用
align-items: stretch
与 David Storey 的回答类似,我的解决方法是:
请注意,应从子组件中删除
height: 100%
(请参阅注释)。或者
align-items
,您可以使用align-self
就在.flex-2-child
您想要拉伸的项目上。