Глава 34. CSS продвинуто: Flexbox, Grid, адаптив

Зачем эта глава

Чтобы интерфейс выглядел профессионально, нужно уметь быстро строить сетки и адаптивные блоки. Flexbox и Grid — главные инструменты.

Flexbox: когда элементы идут в ряд

Flexbox удобен для шапок, меню, карточек и простых сеток.

CSS
.toolbar {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

Grid: когда нужна сетка

Grid проще для сложных сеток (карточки, каталоги, галереи).

CSS
.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

Адаптивность

Используй медиа-запросы, чтобы интерфейс был удобным на телефоне.

CSS
@media (max-width: 600px) {
  .toolbar {
    flex-direction: column;
    align-items: stretch;
  }
}
Важно: всегда тестируй на ширине 360px — это типичный размер телефона.

Задания

Задание: сетка карточек

  • Сделай сетку из 6 карточек с Grid.
  • Сделай адаптив: 1 колонка на 360px.
  • Добавь промежутки и ровные отступы.

Проверка себя

Ты умеешь строить сетки Flexbox и Grid и делать адаптив.

Мини-проект

Цель: каталог товаров.

Требования: сетка, адаптив, карточки с кнопкой.

Критерий готовности: каталог выглядит аккуратно на телефоне и на десктопе.