Назад Вперед Зміст

Явні та неявні гріди

CSS Grid використовує концепцію явного гріда та неявного. Це, власне, ключова концепція, яку вам потрібно розуміти при створенні грідів, інакше ви можете побачити купу колонок і рядків, про існування яких навіть не підозрювали.

Явний грід — це грід, який ви визначаєте в grid-template-rows, grid-template-columns та в grid-template-areas.

Проте, ви все ще можете мати елементи, які не поміщаються у вашу «явно» вказану сітку. Наприклад, ви визначили грід, який може вмістити лише шість елементів, але сам контейнер фактично складається з дев’яти елементів. Лише шість елементів помістяться в явний грід, а три залишаться. І тут починаються неявні гріди.

Неявні гріди автоматично генеруються самим грід-контейнером щоразу, коли грід-елементи розташовуються за межами явного гріда. Контейнер створює неявні грід треки, додаючи неявні рядки в грід. Ці рядки разом з явними грідами утворюють так звані неявні. Ось приклад:

В цьому прикладі ми явно визначаємо два рядки і дві колонки, що вмістить чотири грід елементи. Проте, тут є шість грід елементів, отже створено неявний грід, щоб вмістити два додаткові елементи.

І це дуже добре. Якби не було створено неявний грід, два додаткові елементи створили б повний безлад у сітці.

Встановлення розміру треку для неявних грідів

Можливо, ви помітили, що додатковий рядок не такий за висотою, як попередні два.

Це тому, що ми встановили висоту рядка в властивості grid-template-rows, але вона застосовується лише до явних грідів. Висота рядка на неявних грідах має встановлюватися за допомогою властивості grid-auto-rows. Але оскільки ми цього не зробили, виходить, що неявний рядок використовує розмір треку auto, який базується на контенті. Ось так розташовуються властивості встановлення розміру треку:

Опціональне значення dense

У grid-auto-flow також є опціональне значення dense, яке може допомогти у створенні компактного гріда та запобігти великим проміжкам між грід-елементами у випадку непослідовних розмірів усіх грід-елементів у контейнері. Наприклад, у вас є такий грід:

Застосування dense перетворить його на такий:

Застосування цього значення призведе до того, що елементи будуть відображатися не за порядком, оскільки наступні елементи можуть повертатися назад у порядок і заповнювати проміжки, які раніше з’являлися, але це не підходить для кожної ситуації.

Назад Вперед Зміст