Flex-box 规范3声明 flex-item 不是块容器:
弹性项目为其内容建立一个新的格式化上下文。像往常一样,此格式化上下文的类型由其“显示”值确定。弹性项目的计算“显示”是通过应用 CSS 2.1 第 9.7 章中的表格确定的。然而,弹性项目是弹性级盒子,而不是块级盒子:它们参与容器的弹性格式化上下文,而不是块格式化上下文。
看看这个小例子(小提琴:4):
#flex {
height: 200px;
width: 100px;
display: flex;
flex-flow: column;
background-color: red;
}
#flexAuto {
display: block;
position: relative;
flex: auto;
width: 100%;
}
#oneHundredPercent {
height: 100%;
width: 100%;
background-color: green;
}
HTML
<div id="flex">
<div id="flexAuto">
<div id="oneHundredPercent"></div>
</div>
</div>
我希望#oneHundredPercent 高 200 像素,就像它的容器 #flexAuto 的大小一样。但它的高度为 0px。实际输出看起来像左图。我期待正确的图片:
有没有一种简单的方法可以让弹性项目再次表现得像一个盒子?