Из приведенного вами примера я не уверен, как вы хотите отображать сами данные (кроме направления столбцов).
Вот как вы бы использовали CSS для укладки столбцов:
/*
On mobile devices the divs are already vertically stacked,
so only on larger screen sizes they will have to be horizontally stacked
*/
@media only screen and (min-width: 768px) {
.grid__container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
}
}
<div class="grid__container">
<div class="grid__item">
<p>First block</p>
</div>
<div class="grid__item">
<p>Second block</p>
</div>
<div class="grid__item">
<p>Third block</p>
</div>
</div>
Мотивация:
Обычная практика - начать с мобильной версии, а затем постепенно улучшать сайт как размер экрана растет. ( Исходный код UXPin в первом дизайне для мобильных устройств)
В примере используется сетка CSS. CSS grid дает вам большую гибкость, "складывая" блоки для разных размеров экрана. (Вы даже можете изменить порядок блоков div, если хотите.) (CSS -tricks source )
Обычно вы не хотите изменять отображение CSS свойство таблицы сама , потому что тогда вы теряете структурную разметку . ( исходный код w3.org ) Это затрудняет доступность. ( источник w3.org )
768px - точка останова. Это момент, когда вы хотите, чтобы ваши столбцы меняли направление. ( источник w3schools.org )