我正在尝试使用flexbox来构建同等大小的单元格的响应网格。如果单元格的内容相同,我的代码可以工作,但如果单元格的内容长度不同,则代码不起作用 - 单元格会重新调整以适应其内容。
这就是我所追求的:
1.每个单元的宽度相同
2.调整浏览器大小时,每个单元格的宽度会自动调整。
这是关于小提琴的代码:https://jsfiddle.net/v0erefnd/1/
HTML:
<div class="flex-container">
<div class="flex-item">1</div>
<div class="flex-item">100</div>
<div class="flex-item">10,000</div>
<div class="flex-item">1,000,000</div>
<div class="flex-item">100,000,000</div>
<div class="flex-item">10,000,000,000</div>
<div class="flex-item">1,000,000,000,000</div>
</div>
<div class="flex-container">
<div class="flex-item">100</div>
<div class="flex-item">100</div>
<div class="flex-item">100</div>
<div class="flex-item">100</div>
<div class="flex-item">100</div>
<div class="flex-item">100</div>
<div class="flex-item">100</div>
</div>
css:
.flex-container {
padding: 0;
margin: 0;
list-style: none;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-flow: row;
justify-content: space-around;
height: 50px;
line-height:30px;
}
.flex-item {
/*todo: how to prevent the flexbox to resize to accommodate the text?*/
background: tomato;
margin: 10px 5px;
color: white;
font-weight: bold;
font-size: 1.5em;
text-align: center;
flex-grow: 1;
overflow: hidden;
}
谢谢!
答案 0 :(得分:10)
如果您希望所有flexbox项具有相同的宽度,可以添加flex-basis: 100%
:
.flex-item {
background: tomato;
margin: 10px 5px;
color: white;
font-weight: bold;
font-size: 1.5em;
text-align: center;
flex-basis: 100%;
overflow: hidden;
}