Установка высоты рядов в CSS Grid: Аналог flex-grow: 1

Пройдите тест, узнайте какой профессии подходите
Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для установки определённой высоты строк в CSS Grid воспользуйтесь свойством grid-template-rows, выбирая соответствующие единицы измерения, такие как px, %, vh или fr для динамичной адаптации. Вот пример с фиксированной высотой строк:

CSS
Скопировать код
.grid-container {
  display: grid;
  grid-template-rows: 50px 100px; // Высота каждой строки уникальна.
}

Если вы хотите, чтобы строки имели одинаковую и гибкую высоту, распределяя доступное пространство, используйте единицу fr:

CSS
Скопировать код
.grid-container {
  display: grid;
  grid-template-rows: 1fr 1fr; // Равное распределение пространства между строками.
}

Единица 1fr означает одну долю от доступного пространства, позволяя эластично регулировать высоту строк.

Пошаговый план для смены профессии

Продвинутые методы управления высотой строк

Тонкая настройка высоты строк

Для точной настройки высоты строк используйте единицу px:

CSS
Скопировать код
grid-template-rows: 100px 250px; /* Пиксели предоставляют точный контроль над размерами. */

Если важна пропорциональность, применяйте единицы %:

CSS
Скопировать код
grid-template-rows: 25% 75%; /* Распределение пространства на 75% и 25%. */

Адаптивные строки с использованием calc() и min-height

Сочетайте различные единицы измерения с помощью функции calc(), чтобы строки могли адаптироваться к изменениям размера экрана:

CSS
Скопировать код
grid-template-rows: calc(50vh – 20px) auto; /* Динамика и адаптивность нашего расположения */

Применяйте свойство min-height, чтобы не допустить исчезновения пустых строк:

CSS
Скопировать код
.grid-item {
  min-height: 100px; /* Наша минимальная высота */
}

Размеры колонок и зазоры между элементами

Свойство grid-gap поможет создать приятный визуальный эффект распределения строк и колонок:

CSS
Скопировать код
.grid-container {
  grid-gap: 20px; /* Наш промежуток между элементами */
}

Чтобы создать упорядоченную композицию, задайте размеры колонок наряду со строками:

CSS
Скопировать код
.grid-container {
  grid-template-columns: 1fr 2fr 1fr; /* Мы также управляем размерами колонок */
}

Визуализация

Настройка высоты строк в CSS Grid можно представить аналогией с книгами на полке:

Markdown
Скопировать код
| Ячейка Grid (полка) | Высота элемента Grid (книга) | Занимаемое место |
| ------------------- | ---------------------------- | ---------------- |
| 1                   | Небольшой роман (1fr)        | 📘📗📙              |
| 2                   | Роман (2fr)                  | 📘📗📙📘📗📙          |
| 3                   | Энциклопедия (3fr)           | 📘📗📙📘📗📙📘📗📙      |

Регулирование высоты книг схоже с работой свойства grid-template-rows.

CSS
Скопировать код
grid-template-rows: 1fr 2fr 3fr; /* Так мы размещаем наши "книги" */

Высоте строк выделяется пространство на "полке", пропорциональное их "высоте".

Продвинутые настройки макета

Использование пользовательских свойств для настройки строк

Для создания консистентного дизайна применяйте CSS переменные:

CSS
Скопировать код
:root {
  --row-height: 150px; /* Определили нашу переменную */
}

.grid-container {
  grid-template-rows: var(--row-height) auto; /* Применяем её в коде */
}

Индивидуальная стилизация элементов

Для индивидуальной стилизации определённого элемента используйте псевдо-класс :nth-child:

CSS
Скопировать код
.grid-container > div:nth-child(2) {
  align-self: start; /* Второму элементу нужно индивидуальное позиционирование */
}

Преимущества функции repeat()

Упрощайте дублирование строк с помощью функции repeat():

CSS
Скопировать код
grid-template-rows: repeat(3, 1fr); /* Одна строка, две строки, три строки... */

Совместимость с разными платформами

При разработке приложений на Electron имейте в виду, что возможности CSS могут варьироваться в зависимости от версии Chrome в Electron.

Полезные материалы

  1. CSS Grid Layout – CSS: каскадные таблицы стилей | MDNподробное изучение высоты строк в CSS Grid.
  2. Полное руководство по CSS Grid | CSS-Tricksнезаменимое руководство со всеми деталями работы с сетками CSS Grid.
  3. CSS Grid Layout – W3Schoolsкраткое и ясное изложение основных принципов настройки строк и колонок в гридах.
  4. Определение областей Grid – Grid by Exampleэкспертные заметки от Рэйчел Эндрю о задании размеров элементов сетки.
  5. Использование CSS Grid: поддержка браузеров без Grid — Smashing Magazineценные рекомендации по созданию альтернативных решений для браузеров без поддержки grid.
  6. Учим CSS Grid – Руководство по изучению CSS Grid | Jonathan Suhобзор автоматического регулирования размеров в CSS Grid.
  7. CSS Grid Tutorial – Учите CSS Grid бесплатно | Scrimbaинтерактивное руководство для глубокого и практичного изучения CSS Grid.
Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Какое свойство используется для установки высоты строк в CSS Grid?
1 / 5