grid-template-areas
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis octobre 2017.
La propriété grid-template-areas permet de définir des zones de grille nommées.
Exemple interactif
grid-template-areas:
"a a a"
"b c c"
"b c c";
grid-template-areas:
"b b a"
"b b c"
"b b c";
grid-template-areas:
"a a ."
"a a ."
". b c";
<section class="default-example" id="default-example">
<div class="example-container">
<div class="transition-all" id="example-element">
<div>One (a)</div>
<div>Two (b)</div>
<div>Three (c)</div>
</div>
</div>
</section>
#example-element {
border: 1px solid #c5c5c5;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: repeat(3, minmax(40px, auto));
grid-gap: 10px;
width: 200px;
}
#example-element :nth-child(1) {
background-color: rgba(0, 0, 255, 0.2);
border: 3px solid blue;
grid-area: a;
}
#example-element :nth-child(2) {
background-color: rgba(255, 0, 200, 0.2);
border: 3px solid rebeccapurple;
grid-area: b;
}
#example-element :nth-child(3) {
background-color: rgba(94, 255, 0, 0.2);
border: 3px solid green;
grid-area: c;
}
Ces zones ne sont pas associées à un objet de la grille mais peuvent être utilisées avec les propriétés de placement : grid-row-start, grid-row-end, grid-column-start, grid-column-end et les méthodes de raccourci correspondantes grid-row, grid-column, and grid-area.
Syntaxe
/* Valeur avec un mot-clé */
grid-template-areas: none;
/* Valeurs de chaînes */
/* Type <string> */
grid-template-areas: "a b";
grid-template-areas:
"a b b"
"a c d";
/* Valeurs globales */
grid-template-areas: inherit;
grid-template-areas: initial;
grid-template-areas: unset;
Valeurs
none-
Le conteneur de grille ne définit aucune zone de grille nommée.
<string>+-
Un ligne est créée pour chaque chaîne. Une colonne est créée pour chaque composant de la chaîne de caractères. Si on a un même composant réutilisé sur différentes lignes, cela créera une cellule sur les différentes lignes et colonnes. Il est nécessaire que ces cellules forment un rectangle, sinon, la déclaration est invalide. Voir
<string>pour plus d'informations sur les valeurs de ce type.
Définition formelle
| Valeur initiale | none |
|---|---|
| Applicabilité | conteneurs de grille |
| Héritée | non |
| Valeur calculée | comme spécifié |
| Type d'animation | discrète |
Syntaxe formelle
grid-template-areas =
none |
<string>+
Exemple
>HTML
<section id="page">
<header>En-tête</header>
<nav>Navigation</nav>
<main>Zone principale</main>
<footer>Pied de page</footer>
</section>
CSS
#page {
display: grid;
width: 100%;
height: 250px;
grid-template-areas:
"head head"
"nav main"
"nav foot";
grid-template-rows: 50px 1fr 30px;
grid-template-columns: 150px 1fr;
}
#page > header {
grid-area: head;
background-color: #8ca0ff;
}
#page > nav {
grid-area: nav;
background-color: #ffa08c;
}
#page > main {
grid-area: main;
background-color: #ffff64;
}
#page > footer {
grid-area: foot;
background-color: #8cffa0;
}
Résultat
Spécifications
| Specification |
|---|
| CSS Grid Layout Module Level 2> # grid-template-areas-property> |
Compatibilité des navigateurs
Chargement…