我有一个嵌套弹性盒设置的小例子:http: //jsfiddle.net/ThomasSpiessens/MUrPj/12/
在此示例中,以下内容适用:
- CSS 'box' 类使用 flexbox 属性,只有 boxContent 被告知增长。对于特定的 CSS 属性和值,请检查 fiddle。
- 'fullSize' 只是将宽度和高度都设置为 100%。
当你用 Firefox 和 Chrome 检查这个小提琴时,你会得到不同的结果。在 Firefox 中,它完成了我认为它必须做的事情,即拉伸内部的 .boxContent。然而,在 Chrome 中,内部 .boxContent 不会被拉伸。
有人知道如何在 Chrome 中扩展内容吗?也许缺少特定的 webkit 属性?
.fullSize {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
.box {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-orient: vertical;
-moz-box-orient: vertical;
-ms-flex-direction: column;
-webkit-flex-direction: column;
flex-direction: column;
background-color: brown;
}
/* line 7, ../../app/styles/_layout.scss */
.boxHeader {
-ms-flex: 0 0 auto;
-webkit-flex: 0 0 auto;
flex: 0 0 auto;
background-color: green;
}
/* line 12, ../../app/styles/_layout.scss */
.boxContent {
-ms-flex: 1 0 auto;
-webkit-flex: 1 0 auto;
flex: 1 0 auto;
-webkit-box-flex: 1.0;
background-color: yellow;
}
/* line 18, ../../app/styles/_layout.scss */
.boxFooter {
-ms-flex: 0 1 auto;
-webkit-flex: 0 1 auto;
flex: 0 1 auto;
background-color: cornflowerblue;
}
.moreblue {
background-color: blue;
}
.moregreen {
background-color: darkgreen;
}
.red {
background-color: red;
}
<div class="box fullSize">
<div class="boxHeader">HEADER</div>
<div class="boxContent">
<div class="box fullSize">
<div class="boxHeader moregreen">INNER HEADER</div>
<div class="boxContent red">CONTENT CONTENT CONTENT</div>
<div class="boxFooter moreblue">INNER FOOTER</div>
</div>
</div>
<div class="boxFooter">FOOTER</div>
</div>