«Создание адаптивных веб сайтов с CSS Grid и Flexbox»

Введение

Ты наверняка замечал, что сайты на телефоне выглядят иначе, чем на компьютере. Это называется адаптивная вёрстка — когда дизайн подстраивается под размер экрана. В этом помогают две технологии: CSS Grid и Flexbox.

CSS Grid — как тетрадный лист в клетку. Он помогает разбить страницу на строки и столбцы (например, сделать шапку, сайдбар, основной контент и подвал).

Flexbox — как линейка, на которой можно выстроить предметы в ряд или столбец (например, пункты меню или карточки товаров).

Правило простое: Grid — для общей структуры, Flexbox — для отдельных блоков.

CSS Grid: начнём с простого

Чтобы включить Grid, нужно задать контейнеру свойство display: grid.

Основные команды:

  1. grid-template-columns — говорит, сколько и каких столбцов нужно (например, 1fr 1fr — два одинаковых столбца);
  2. gap — задаёт отступы между ячейками;
  3. repeat() — помогает быстро создать много одинаковых колонок.

Пример: сетка из двух одинаковых колонок:

Что здесь происходит: <b>display: grid </b>— включаем режим сетки;  <b>1fr 1fr </b>— делим пространство на две равные части (fr — это «доля» от всей ширины);  <b>gap:</b> 20px — ставим отступ 20 px между колонками. 
Что здесь происходит: display: grid — включаем режим сетки;  1fr 1fr — делим пространство на две равные части (fr — это «доля» от всей ширины);  gap: 20px — ставим отступ 20 px между колонками. 

Flexbox: ещё проще

Flexbox помогает выстроить элементы в линию.

Основные команды:

display: flex включает Flexbox, justify-content выравнивает элементы по горизонтали (например, space-between распределяет их с равными отступами), а flex-direction меняет направление расположения: row — в ряд, column — в столбец.

Пример: меню в одну строку:

Это значит:  <b>display: flex</b> — выстраиваем пункты меню в линию;  <b>space-around </b>— равномерно распределяем их по ширине. 
Это значит:  display: flex — выстраиваем пункты меню в линию;  space-around — равномерно распределяем их по ширине. 

Адаптивность: магия медиазапросов

Медиазапросы (@media) — это «условия» для стилей. Например: «если экран меньше 768 px, сделай меню вертикальным».

Пример:

«Создание адаптивных веб сайтов с CSS Grid и Flexbox»

Как их сочетать?

Часто используют обе технологии вместе:

  • Grid — чтобы разделить страницу на большие зоны (например, сайдбар слева, контент справа);
  • Flexbox — чтобы внутри этих зон красиво расположить элементы (кнопки, карточки, ссылки).

Пример комбинированного макета:

«Создание адаптивных веб сайтов с CSS Grid и Flexbox»

Практические советы для новичков

Начинай с мобильной версии (mobile‑first) — сначала делай макет для телефона, затем добавляй стили для больших экранов. Используй fr в Grid: он автоматически поделит пространство между колонками. Проверяй результат в браузере через инструменты разработчика (F12), меняя размер окна — так ты увидишь, как ведёт себя макет. Экспериментируй: пробуй разные значения gap (отступы), fr (распределение пространства) и flex-direction (горизонтальное/вертикальное расположение). Помни: Grid — для структуры страницы (шапка, сайдбар, контент), Flexbox — для элементов внутри блоков (меню, кнопки, карточки). Так код будет чище, а вёрстка — предсказуемее.

Заключение

Что нужно запомнить:

1. Grid — для двумерных сеток (строки + столбцы).

2. Flexbox — для одномерной компоновки (ряд или столбец).

3. Медиазапросы — чтобы сайт менялся на разных экранах.

4. Комбинация Grid + Flexbox — лучший вариант для адаптивной вёрстки.

Попробуй повторить примеры из статьи — так ты быстрее поймёшь, как работают эти технологии.

1