I am looking for a way to create equally sized boxes with flexbox
while using flex-growth: 1
. This works pretty good by defining the parent with:
display: flex;
flex-flow: row-wrap;
and its children with:
flex: 1 0 10rem;
However, the LAST line will (depending on the amount of blocks in that line) have different widths for its boxes in comparison to the boxes in the previous lines. Is there a way to work around this while still using flex-grow?
HTML
<section>
<div>aaaaaaaaaaaaaaaaaaaa</div>
<div>bbbbbbbbbbbbbbbbbbbb</div>
<div>cccccccccccccccccccc</div>
<div>dddddddddddddddddddd</div>
<div>eeeeeeeeeeeeeeeeeeee</div>
<div>ffffffffffffffffffff</div>
<div>gggggggggggggggggggg</div>
</section>
CSS
section {
display: flex;
flex-flow: row wrap;
background-color: blue;
width: 700px;
}
div {
background-color: red;
height: 100px;
flex: 1 0 200px;
}
div:nth-child(even) {
background-color: green;
}
Note in http://jsfiddle.net/C2q8D/3/ that the flex items in the last line are bigger than the lines above (as there are less items on that line to divide the space).
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…