Я пытаюсь использовать flexbox для создания чувствительной сетки одинаковых по размеру ячеек. Мой код работает, если содержимое ячеек одинаковое, но нет, если содержимое ячеек изменяется по длине - ячейки меняются в зависимости от их содержимого.
flexbox - предотвратить увеличение ширины при указании значения flex-grow
Вот что я после:
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;
}
Спасибо!
Я хотел бы использовать 'Flex-основы: 0px' вместо (имеет смысл) или недостаток 'flex: 1 0 0px', но +1 – avrahamcool
@ Решение Josh работает, спасибо. Похоже, flex-grow: в этом случае больше не нужно.
Решение @avrahamcool требует как flex-grow: 1; и flex-basis: 0px – Moto