我有一个嵌套的flexbox设置小例子: 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>