Construisez des galeries et des gabarits de page complets avec les colonnes, les lignes et les zones nommées de CSS Grid.
Ouvrir cette leçon dans KodokonFlexbox aligne sur un axe ; Grid contrôle les deux à la fois. Dès que votre maquette ressemble à un tableau - galerie de photos, tableau de bord, page complète avec en-tête, barre latérale et pied de page - Grid est le bon outil. Le conteneur définit la structure en colonnes et en lignes, et les enfants s'y placent automatiquement ou à l'endroit exact que vous choisissez.
.gallery {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1rem;
}L'unité fr (fraction) partage l'espace disponible : 1fr 2fr crée deux colonnes dont la seconde est deux fois plus large. Contrairement aux pourcentages, fr tient compte du gap sans aucun calcul de votre part. Pour mettre en avant un élément, faites-le s'étendre sur plusieurs pistes avec grid-column et grid-row.
.featured {
grid-column: span 2;
grid-row: span 2;
}Pour une page entière, grid-template-areas vous permet de dessiner la maquette directement dans le CSS. Chaque chaîne représente une ligne de la grille, chaque mot une zone nommée. Un enfant se place ensuite avec grid-area. Le résultat se lit comme un plan d'architecte : c'est la méthode la plus lisible pour un gabarit de page.
.page {
display: grid;
grid-template-columns: 240px 1fr;
grid-template-rows: auto 1fr auto;
grid-template-areas:
"header header"
"sidebar main"
"footer footer";
min-height: 100vh;
}
.site-header { grid-area: header; }
.site-nav { grid-area: sidebar; }
.site-main { grid-area: main; }
.site-footer { grid-area: footer; }fr dans grid-template-columns: 1fr 2fr ?grid-template-columns: 3grid-template-columns: repeat(3, 1fr)grid-columns: 1fr 3grid-template-areas ?grid-area