Zones de modèle de grille
Nommez les zones de la grille avec grid-template-areas pour créer des mises en page lisibles et sémantiques.
Zones de modèle de grille est une leçon CSS Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage CSS Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours CSS Academy comprend 4 leçons au total.
Zones nommées de la grille
grid-template-areas permet de nommer les régions de la grille à l’aide d’un dessin ASCII. Les mises en page deviennent ainsi très lisibles et faciles à maintenir.
Définir les zones du modèle
Chaque chaîne entre guillemets représente une ligne. Les cellules portant le même nom forment une zone rectangulaire. Utilisez . pour les cellules vides.
<div class="page" style="min-height:240px;">
<header style="grid-area:header;background:#4f8cff22;border:1px solid #4f8cff;padding:8px;">Header</header>
<aside style="grid-area:sidebar;background:#ffb84d22;border:1px solid #ffb84d;padding:8px;">Sidebar</aside>
<main style="grid-area:main;background:#7ee78722;border:1px solid #34c759;padding:8px;">Main</main>
<footer style="grid-area:footer;background:#ff6b6b22;border:1px solid #ff6b6b;padding:8px;">Footer</footer>
</div>Positionner les éléments par nom
Attribuez les éléments de la grille à des zones nommées en utilisant la propriété grid-area avec le nom de la zone, sans guillemets :
<div style="display:grid;grid-template-columns:200px 1fr;grid-template-rows:auto 1fr auto;grid-template-areas:'header header' 'sidebar main' 'footer footer';min-height:220px;gap:4px;">
<header style="background:#4f8cff22;border:1px solid #4f8cff;padding:8px;">Header</header>
<div class="sidebar" style="background:#ffb84d22;border:1px solid #ffb84d;padding:8px;">Sidebar</div>
<main style="background:#7ee78722;border:1px solid #34c759;padding:8px;">Main</main>
<footer style="background:#ff6b6b22;border:1px solid #ff6b6b;padding:8px;">Footer</footer>
</div>Règles des zones du modèle
Les zones nommées doivent être rectangulaires. Chaque cellule ne peut appartenir qu’à une seule zone. Le nom d’une zone ne peut pas apparaître dans des cellules non adjacentes : cela serait invalide.
Cellules vides avec .
Utilisez un ou plusieurs points pour marquer les cellules vides dans grid-template-areas :
<div class="layout" style="display:grid;min-height:200px;">
<div style="grid-area:logo;background:#4f8cff22;border:1px solid #4f8cff;">Logo</div>
<div style="grid-area:nav;background:#ffb84d22;border:1px solid #ffb84d;">Nav</div>
<div style="grid-area:main;background:#7ee78722;border:1px solid #34c759;">Main</div>
<div style="grid-area:sidebar;background:#b57bff22;border:1px solid #b57bff;">Sidebar</div>
<div style="grid-area:footer;background:#ff6b6b22;border:1px solid #ff6b6b;">Footer</div>
</div>Zones adaptatives avec les requêtes média
Redéfinissez grid-template-areas dans des requêtes média pour remodeler complètement la structure de la mise en page :
<p style="font-size:0.85em;color:#888;margin:0 0 8px;">Narrow (default) preview below. Widen your browser to ≥768px to see the media query apply the two-column layout live.</p>
<div class="page" style="min-height:200px;margin-bottom:16px;">
<div style="grid-area:header;background:#4f8cff22;border:1px solid #4f8cff;padding:8px;">Header</div>
<div style="grid-area:main;background:#ffb84d22;border:1px solid #ffb84d;padding:8px;">Main</div>
<div style="grid-area:sidebar;background:#7ee78722;border:1px solid #34c759;padding:8px;">Sidebar</div>
<div style="grid-area:footer;background:#ff6b6b22;border:1px solid #ff6b6b;padding:8px;">Footer</div>
</div>
<p style="font-size:0.85em;color:#888;margin:0 0 8px;">Preview of the ≥768px layout (static reference — not driven by the media query):</p>
<div style="display:grid;grid-template-columns:200px 1fr;grid-template-areas:'header header' 'sidebar main' 'footer footer';gap:4px;min-height:160px;">
<div style="grid-area:header;background:#4f8cff22;border:1px solid #4f8cff;padding:8px;">Header</div>
<div style="grid-area:sidebar;background:#7ee78722;border:1px solid #34c759;padding:8px;">Sidebar</div>
<div style="grid-area:main;background:#ffb84d22;border:1px solid #ffb84d;padding:8px;">Main</div>
<div style="grid-area:footer;background:#ff6b6b22;border:1px solid #ff6b6b;padding:8px;">Footer</div>
</div>Lignes nommées générées
Lorsque vous nommez une zone, CSS crée automatiquement des lignes de grille nommées : area-start et area-end, pour les lignes comme pour les colonnes.
<div style="display:grid;grid-template-columns:200px 1fr;grid-template-rows:auto 1fr;grid-template-areas:'aside main' 'aside main';gap:0;min-height:160px;">
<div style="grid-area:aside;background:#4f8cff22;border:1px solid #4f8cff;padding:8px;">Aside</div>
<div style="grid-area:main;background:#ffb84d22;border:1px solid #ffb84d;padding:8px;">Main content</div>
<div class="overlay" style="grid-row:1/3;background:rgba(255,99,71,0.3);border:2px dashed tomato;padding:4px;">Overlay via named lines main-start / main-end</div>
</div>Combiner les zones et les numéros de ligne
Les zones nommées et les numéros de ligne explicites peuvent coexister dans la même grille. Les éléments peuvent être positionnés par nom, par ligne ou par étendue.
Processus de conception visuelle d’une grille
Un processus courant consiste à esquisser d’abord la mise en page dans les zones du modèle, puis à définir les tailles des colonnes et des lignes. Cela sépare la structure des questions de dimensionnement.
<div class="dashboard" style="display:grid;">
<div style="grid-area:header;background:#4f8cff22;border:1px solid #4f8cff;">Header</div>
<div style="grid-area:nav;background:#ffb84d22;border:1px solid #ffb84d;">Nav</div>
<div style="grid-area:main;background:#7ee78722;border:1px solid #34c759;">Main</div>
<div style="grid-area:ads;background:#b57bff22;border:1px solid #b57bff;">Ads</div>
<div style="grid-area:footer;background:#ff6b6b22;border:1px solid #ff6b6b;">Footer</div>
</div>Zones du modèle et accessibilité
L’ordre visuel de la grille peut différer de l’ordre source du DOM. Les lecteurs d’écran suivent l’ordre du DOM, et non le positionnement visuel. Veillez à ce que l’ordre du DOM reste logique, même lorsque les éléments sont réorganisés visuellement par le positionnement dans la grille.
Notation abrégée grid-template
Combinez grid-template-areas, grid-template-columns et grid-template-rows dans une seule déclaration grid-template.
<div class="page" style="display:grid;min-height:200px;">
<div style="grid-area:header;background:#4f8cff22;border:1px solid #4f8cff;padding:8px;">Header</div>
<div style="grid-area:sidebar;background:#ffb84d22;border:1px solid #ffb84d;padding:8px;">Sidebar</div>
<div style="grid-area:main;background:#7ee78722;border:1px solid #34c759;padding:8px;">Main</div>
<div style="grid-area:footer;background:#ff6b6b22;border:1px solid #ff6b6b;padding:8px;">Footer</div>
</div>Vérification rapide
Dans grid-template-areas, quel caractère est utilisé pour marquer une cellule vide ?
Récapitulatif
grid-template-areas utilise un dessin ASCII pour nommer les régions de la mise en page. Les éléments sont positionnés avec grid-area: name. Les zones doivent être rectangulaires et les cellules vides utilisent .. Redéfinissez les zones dans des requêtes média pour créer des mises en page entièrement adaptatives avec un CSS clair et lisible.
Questions Fréquemment Posées
La leçon « Zones de modèle de grille » est-elle gratuite ?
Oui — le texte complet de « Zones de modèle de grille » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours CSS Academy, passe à CoddyKit PRO. Le cours CSS Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Zones de modèle de grille » ?
Nommez les zones de la grille avec grid-template-areas pour créer des mises en page lisibles et sémantiques. Tu pratiques CSS Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer CSS Academy ?
Aucune expérience préalable n'est requise. CSS Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Zones de modèle de grille » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon CSS Academy ?
Oui. Chaque leçon CSS Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Display Grid et modèles de colonnes et de lignes
- Unité fr et Repeat
- Espacement et placement dans la grille
- Zones de modèle de grille