Урок 27. Домашнее задание: Строки, колонки и grid-template

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

⚡ Кратко

Собери адаптивную галерею карточек через repeat(auto-fit, minmax()), где одна «избранная» карточка занимает две колонки через span 2.

Домашнее задание

Задача: сделайте адаптивный список из 6–8 карточек через repeat(auto-fit, minmax(200px, 1fr)). Одна «избранная» карточка должна занимать две колонки через grid-column: span 2. Никаких @media — адаптив только средствами Grid.

Ожидаемый результат

На широком экране — несколько колонок, избранная карточка вдвое шире. При сужении окна карточки сами переносятся на новые строки.

Избранное (span 2)
Карточка
Карточка
Карточка
Карточка
/* styles.css — целевой результат */
.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}
.card--featured { grid-column: span 2; }

Шаги

1

Разметка

Создайте контейнер .cards и 6–8 блоков .card. Одному добавьте класс .card--featured.

📄 index.html
<section class="cards">
  <article class="card card--featured">Избранное</article>
  <article class="card">Карточка</article>
  <!-- ещё карточки -->
</section>
2

Grid

Опишите адаптивные колонки на контейнере и span на избранной карточке.

📄 styles.css
.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}
.card--featured { grid-column: span 2; }
3

Проверка

Включите Grid overlay (DevTools), сузьте окно и убедитесь: число колонок меняется само, избранная карточка стабильно занимает два трека, gap одинаковый. Связь с теорией — раздел «Адаптивная сетка без media queries».

Навигация