Chapitre 9 : CSS Grid Layout

Écouter la leçon Lecture audio assistée par IA

1. Qu’est-ce que CSS Grid ?

CSS Grid est un système de mise en page en deux dimensions. Contrairement à Flexbox (qui gère une ligne ou une colonne), Grid permet de gérer lignes et colonnes simultanément.

2. Créer une grille de base

.grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
}
<div class="grid">
  <div>1</div>
  <div>2</div>
  <div>3</div>
</div>

Ce code crée une grille à 3 colonnes de même taille avec un espace de 10px entre les éléments.

3. Définir lignes et colonnes

  • grid-template-columns : définit les colonnes
  • grid-template-rows : définit les lignes
.grid {
  grid-template-columns: 200px 1fr;
  grid-template-rows: auto 100px;
}

4. Positionner les éléments

  • grid-column : sur quelle(s) colonne(s) s'étend un élément
  • grid-row : idem pour les lignes
.item2 {
  grid-column: 1 / 3;
}
<div class="grid">
  <div class="item1">A</div>
  <div class="item2">B (colonne 1 à 2)</div>
  <div class="item3">C</div>
</div>

5. Noms de zones avec grid-template-areas

.layout {
  display: grid;
  grid-template-areas:
    "header header"
    "sidebar content";
  grid-template-columns: 200px 1fr;
}
.header { grid-area: header; }
.sidebar { grid-area: sidebar; }
.content { grid-area: content; }

Conclusion

CSS Grid est idéal pour les mises en page complexes, comme des interfaces entières ou des gabarits de sites. Dans le prochain chapitre, tu apprendras à styliser des éléments de manière plus avancée avec les pseudo-classes et les pseudo-éléments.

Évaluation des acquis

Quiz du chapitre 9

Correction immédiate
Q1 Quelle est la principale différence entre CSS Grid et Flexbox ?
Q2 Quelle propriété CSS est utilisée pour définir les colonnes dans une grille CSS ?
Ateliers pratiques & Projets

Testez vos compétences avec nos exercices guidés et le tuteur IA.

Ateliers pratiques & Corrigés détaillés

Ateliers pratiques & Corrigés

#1 — Définition de colonnes
Atelier #1

Crée une grille avec 3 colonnes de largeur égale (1fr chacune).

Correction instantanée et bienveillante
Diagnostic du tuteur IA Weegosoft :
Consulter la solution type du formateur
Solution de référence :
.grid { display: grid; grid-template-columns: repeat(3, 1fr); }
#2 — Espacement (Gap)
Atelier #2

Ajoute un espace de 20px entre toutes les lignes et colonnes de la grille.

Correction instantanée et bienveillante
Diagnostic du tuteur IA Weegosoft :
Consulter la solution type du formateur
Solution de référence :
.grid { gap: 20px; }
#3 — Fusion de colonnes
Atelier #3

Fais en sorte qu'un élément occupe 2 colonnes.

Correction instantanée et bienveillante
Diagnostic du tuteur IA Weegosoft :
Consulter la solution type du formateur
Solution de référence :
.item { grid-column: span 2; }
#4 — Hauteur de ligne
Atelier #4

Définis une hauteur automatique pour les lignes de la grille.

Correction instantanée et bienveillante
Diagnostic du tuteur IA Weegosoft :
Consulter la solution type du formateur
Solution de référence :
.grid { grid-template-rows: auto; }
#5 — Centrage dans la grille
Atelier #5

Centre le contenu à la fois horizontalement et verticalement dans chaque cellule.

Correction instantanée et bienveillante
Diagnostic du tuteur IA Weegosoft :
Consulter la solution type du formateur
Solution de référence :
.grid { place-items: center; }
Besoin d'aide ?
Tuteur Virtuel
Bonjour ! Je suis votre tuteur virtuel. Comment puis-je vous aider avec ce cours aujourd'hui ?
Historique des conversations
Chargement...