grid-template-areas

Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

La propriété grid-template-areas permet de définir des zones de grille nommées.

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.

Valeur initialenone
Applicabilitéconteneurs de grille
Héritéenon
Médiavisuel
Valeur calculéecomme spécifié
Type d'animationdiscrète
Ordre canoniquel'ordre unique et non-ambigu défini par la grammaire formelle

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.

Syntaxe formelle

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

Spécification État Commentaires
CSS Grid Layout
La définition de 'grid-template-areas' dans cette spécification.
Candidat au statut de recommandation Définition initiale.

Compatibilité des navigateurs

Fonctionnalité Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Support simple 57.0[1] 20 (12.10240)-ms[3] 52.0 (52.0)[2] 10.0-ms[3] Pas de support[4] Nightly build-webkit
Fonctionnalité Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support simple Pas de support 52.0 (52.0)[2] Pas de support[3] Pas de support Pas de support

[1] Cette fonctionnalité pouvait être activée à partir de Chrome 29.0 via le marqueur fonctionnalités expérimentales de la Web Platform sous chrome://flags.

[2] Cette fonctionnalité est implémentée via la préférence layout.css.grid.enabled depuis Gecko 40 (Firefox 40.0 / Thunderbird 40.0 / SeaMonkey 2.37) où elle était désactivée par défaut. Depuis Gecko 52.0 (Firefox 52.0 / Thunderbird 52.0 / SeaMonkey 2.49), elle est activée par défaut.

[3] Internet Explorer et Edge implémentent une ancienne version de la spécification qui ne définit pas cette propriété.

[4] Cette fonctionnalité est disponible via la préférence Activer les fonctionnalités expérimentales de la plateforme web sous chrome://flags depuis Opera 28.0.

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : SphinxKnight
 Dernière mise à jour par : SphinxKnight,