Об'єднання рядків у CSS Grid
Вивчаємо властивість grid-row, яка дозволяє елементам займати декілька рядків у CSS Grid.
Об'єднання рядків у CSS Grid
У CSS Grid елемент може займати не тільки одну комірку, а декілька рядків або колонок сітки.
Для об'єднання рядків використовується властивість grid-row, яка задає початкову та кінцеву позицію елемента.
Значення записується через символ /. Наприклад, grid-row: 1 / 3 означає, що елемент займе перший і другий рядок, але не третій.
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
</div>#parent {
display: grid;
grid-template-columns:
2fr 1fr;
height: 300px;
width: 400px;
padding: 10px;
border: 2px solid #696989;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-row: 1 / 3;
}
#elem2 {
grid-row: 1 / 2;
}
#elem3 {
grid-row: 2 / 3;
}Перший елемент розтягується через два рядки, а другий і третій займають по одному рядку.
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
<div id="elem4">4</div>
</div>#elem1 {
grid-row: 1 / 2;
}
#elem2 {
grid-row: 2 / 3;
}
#elem3 {
grid-row: 3 / 4;
}
#elem4 {
grid-row: 1 / 4;
}Елемент з grid-row: 1 / 4 займає всі три рядки, починаючи з першої лінії Grid і закінчуючи перед четвертою.
grid-row працює з лініями Grid, а не з кількістю рядків. Кінцева лінія не входить у область елемента.
Синтаксис grid-row
element {
grid-row: початкова-лінія / кінцева-лінія;
}- grid-row: 1 / 2 займає один рядок.
- grid-row: 1 / 3 займає два рядки.
- grid-row: 1 / 4 займає три рядки.
- Властивість задається самому Grid-елементу, а не контейнеру.
#main {
grid-row: 1 / 5;
}- №1. Створіть Grid із декількома елементами.
- №2. Використайте grid-row для об'єднання рядків.
- №3. Зробіть один елемент висотою у два рядки.
- №4. Зробіть один елемент висотою у три рядки.
- №5. Повторіть різні макети через grid-row.
💡 Показати підказку
Пам'ятайте: grid-row: 1 / 3 займає два рядки, тому що друга лінія не включається.
✅ Показати відповідь
#elem1 {
grid-row: 1 / 3;
}
#elem4 {
grid-row: 1 / 4;
}