grid-template-areas
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 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
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
BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.