Судя по вашему вопросу, я считаю, что это то, что вы пытаетесь достичь:
.block {
border: 1px solid lightgrey;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
padding: 5px;
max-width: 900px;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
}
.block__item {
background: grey;
height: 20px;
margin-right: 2px;
margin-bottom: 2px;
width: 33%;
}
<div class="block">
<div class="block__item"></div>
<div class="block__item"></div>
<div class="block__item"></div>
<div class="block__item"></div>
<div class="block__item"></div>
<div class="block__item"></div>
<div class="block__item"></div>
<div class="block__item"></div>
<div class="block__item"></div>
</div>
Я добавил префиксы вендора, чтобы он одинаково отображался во всех браузерах. Вы можете отрегулировать расстояние между полями, отрегулировав процент (то есть 31% ширины). Если вы планируете использовать Flexbox часто, вам следует зайти на этот сайт, чтобы узнать о быстрых версиях поставщиков: http://the -echoplex.net / flexyboxes /