CSS grid-template-areas — сітка з іменованих областей
Властивість grid-template-areas вказує назви сіткових областей.

Визначає шаблон сітки, на який можна буде посилатися з grid-area. Наприклад:
grid-template-areas: "header header header"
"nav article ads"
"nav footer footer";
Порожні клітини
Ви можете вказати порожню клітинку, використовуючи символ (.), наприклад:
grid-template-areas: "a a"
". b";
Іменовані рядки
Іменовані лінії можуть спростити усвідомлення сітки, оскільки ви можете надати змістовні імена рядкам.
Названі рядки можуть бути явними або неявними:
- Явні іменовані рядки - це ті назви, які ви задаєте.
- Неявні названі рядки - це імена, які автоматично створюються властивості
grid-template-areas. Ці названі рядки створюються з названих областей у шаблоні. Для кожної названої сіткової області з ім'ямfoo(наприклад) створюються чотири неявно названих рядки. Дві імені, що називаютьсяfoo-start, є початковими рядками і стовпчиками в сітці та два іменіfoo-end- кінцевими.
Загальний опис
автор: NagarD
Синтаксис
grid-template-areas: none | <string>+
Властивість grid-template-areas може отримувати 3 значень:
-
<grid-area-name> -
ім'я області визначеної у
автор: Svitlanagrid-area -
. -
пуста комірка сітки
автор: Svitlana -
none -
відсутні сіткові області
автор: Svitlana
| Значення без задання: | none |
|---|---|
| Наслідує: | Ні |
| Анімується: | Так |
| JavaScript синтаксис: | object.style.gridTemplateAreas |
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 57 | 52 | 10.1 | 44 | 16 | — |
| Переглядач | ||||
|---|---|---|---|---|
| 57 | 57 | 52 | 10.3 |
Приклади
+ запропонувати свій приклад у пісочниці
Макет малюється просто текстом: header займає обидві колонки першого «рядка» шаблону, під ним — article і content. Елементи прив'язуються до областей через grid-area.
HTML
<div class="box">
<header>header</header>
<article>article</article>
<aside>content</aside>
</div>
CSS
.box {
display: grid;
grid-template-areas:
"header header"
"article content";
gap: 4px;
}
.box > * {
background: #eee;
padding: 8px;
margin: 0;
}
header {
grid-area: header;
background: #0172ad;
color: #fff;
}
article { grid-area: article; }
aside { grid-area: content; }
Приклад використання
HTML
<header id="pageHeader">Header</header>
<article id="mainArticle">Article</article>
<nav id="mainNav">Nav</nav>
<div id="siteAds">Sidebar</div>
<footer id="pageFooter">Footer</footer>
CSS
body {
display: grid;
grid-template-areas:
"header header header"
"nav article ads"
"nav footer footer";
grid-template-rows: 1fr 4fr 1fr;
grid-auto-columns: 1fr 4fr 1fr;
grid-gap: 5px;
height: 85vh;
}
header, footer, article, nav, div {
background-color: tomato;
color: white;
font-size: 1.75em;
text-align: center;
font-family: monospace;
padding: 16px;
}
#pageHeader {
grid-area: header;
}
#pageFooter {
grid-area: footer;
}
#mainArticle {
grid-area: article;
}
#mainNav {
grid-area: nav;
}
#siteAds {
grid-area: ads;
}
Класична розкладка сторінки, намальована в grid-template-areas: шапка, бічне меню, вміст і підвал.
HTML
<div class="page">
<header>header</header>
<nav>nav</nav>
<main>main</main>
<footer>footer</footer>
</div>
CSS
.page {
display: grid;
grid-template-areas:
"header header"
"nav main"
"footer footer";
grid-template-columns: 140px 1fr;
grid-template-rows: auto 160px auto;
gap: 10px;
font: 15px sans-serif;
}
header { grid-area: header; background: #4a6fa5; color: #fff; }
nav { grid-area: nav; background: #ffe9b0; }
main { grid-area: main; background: #e8eef7; }
footer { grid-area: footer; background: #d2451e; color: #fff; }
.page > * {
padding: 14px;
text-align: center;
}
Коментарі
Коментарів ще немає — будьте першим!