Урок 26. Примеры: Введение в CSS Grid

📁 Раздел: CSS Grid ⏱️ Время изучения: ~60 мин 🎯 Сложность: Средняя
#display #grid-template-columns #grid-template-rows #gap

⚡ Кратко

Рядом с каждым кодом — живой результат. Меняй число колонок и значения fr и сразу смотри, как перестраивается сетка.

Рабочие примеры

В каждом блоке сверху — реальная сетка, снизу — код, который её создаёт. Идём от простого к сложному.

1. Базовая разметка под Grid

Сетка всегда начинается с контейнера и нескольких детей. Сам по себе HTML — обычные блоки; двумерным его делает CSS на родителе.

HTML
CSS
Layout
<section class="gallery">
  <article>HTML</article>
  <article>CSS</article>
  <article>Layout</article>
</section>

2. Три равные колонки — 1fr 1fr 1fr

Каждая колонка получает по одной доле свободного места, поэтому они одинаковой ширины и тянутся за контейнером.

1
2
3
.gallery {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
}

3. То же короче — repeat(3, 1fr)

repeat(3, 1fr) — точно та же сетка, но без повторов. Удобно, когда колонок много.

A
B
C
.gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

4. Смешанные колонки — 200px 1fr

Первая колонка фиксирована (200px — например, боковое меню), вторая забирает всё остальное место.

200px
(меню)
1fr — остальное место (контент)
.layout {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 12px;
}

5. Колонки + строки и крупный gap

Зададим и колонки, и две строки, и больший зазор. Лишние элементы создают новые строки сами.

1
2
3
4
5
6
.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 60px 60px;
  gap: 20px;
}
Эксперимент: открой пример в DevTools (F12), включи Grid overlay рядом с display: grid в панели Styles — браузер подсветит линии, треки и gap прямо на странице.

Навигация