С Спецификация :
Отображаемое значение гибкого элемента: blockified : если заданное отображение дочернего элемента в потоке элемента, генерирующего гибкий контейнер, является значением встроенного уровня , оно вычисляет до эквивалентного уровня блока . (См. CSS2.1§9.7 [CSS21] и CSS Display [CSS3-DISPLAY] для получения подробной информации об этом типе преобразования отображаемых значений.)
Так что, в основном, установка inline-block
или block
ничего не изменит, поскольку оба будут вычислены на block
, но вы можете установить table
или inline-table
, и ваш элемент flex будет вести себя как таблица. То же самое, если вы установите inline-grid
или grid
.box {
display: flex;
margin:5px;
}
.box>div {
height: 50px;
width: 100%;
background: red;
display: grid;
grid-template-columns: 200px 1fr;
grid-template-rows: 1fr;
grid-gap: 20px;
}
span {
border: 2px solid green;
}
<div class="box">
<div>
<span></span>
<span></span>
</div>
</div>
<div class="box">
<div style="display:inline-grid;">
<span></span>
<span></span>
</div>
</div>
Во втором случае вы можете видеть, что он вычисляется как grid
