Установка высоты рядов в 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 означает одну долю от доступного пространства, позволяя эластично регулировать высоту строк.

Кинга Идем в IT: пошаговый план для смены профессии

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

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

Для точной настройки высоты строк используйте единицу 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.