Chapitre 8 : Flexbox en CSS

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

1. Qu’est-ce que Flexbox ?

Flexbox (Flexible Box Layout) est un modèle de disposition CSS conçu pour organiser les éléments de manière efficace, même lorsqu’ils ont des tailles variables ou que l’espace est limité.

Il fonctionne sur deux axes :

  • l’axe principal (main axis)
  • l’axe secondaire (cross axis)

2. Activer Flexbox

On commence par activer le modèle Flexbox sur un conteneur avec display: flex :

.container {
  display: flex;
}
<div class="container">
  <div>1</div>
  <div>2</div>
  <div>3</div>
</div>

3. Propriétés du conteneur

  • flex-direction : row (par défaut), row-reverse, column, column-reverse
  • justify-content : aligne les éléments sur l’axe principal (flex-start, center, space-between…)
  • align-items : aligne les éléments sur l’axe secondaire (stretch, center, flex-end…)
  • gap : espace entre les éléments (supporté dans les navigateurs modernes)
.container {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  gap: 10px;
}

4. Propriétés des éléments flexibles (enfants)

  • flex-grow : permet à l’élément de grandir
  • flex-shrink : permet à l’élément de rétrécir
  • flex-basis : taille initiale de l’élément
  • flex : raccourci pour les trois propriétés ci-dessus
  • align-self : aligne un seul élément différemment des autres
.item {
  flex: 1;
}

5. Exemple complet

<style>
  .container {
    display: flex;
    gap: 1rem;
  }
  .box {
    flex: 1;
    padding: 20px;
    background: lightblue;
  }
</style>

<div class="container">
  <div class="box">A</div>
  <div class="box">B</div>
  <div class="box">C</div>
</div>

Conclusion

Flexbox facilite grandement la création de mises en page flexibles, centrées, et adaptables. Dans le prochain chapitre, tu découvriras CSS Grid, une autre méthode encore plus puissante pour les mises en page complexes en deux dimensions.

Évaluation des acquis

Quiz du chapitre 8

Correction immédiate
Q1 Quelle propriété CSS est utilisée pour activer le modèle Flexbox sur un conteneur ?
Q2 Quelle propriété Flexbox aligne les éléments le long de l'axe principal ?
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 — Direction de l'axe
Atelier #1

Aligne les enfants en colonne au lieu de ligne.

Correction instantanée et bienveillante
Diagnostic du tuteur IA Weegosoft :
Consulter la solution type du formateur
Solution de référence :
.container { display: flex; flex-direction: column; }
#2 — Centrage Horizontal
Atelier #2

Centre les éléments sur l'axe principal (horizontal par défaut).

Correction instantanée et bienveillante
Diagnostic du tuteur IA Weegosoft :
Consulter la solution type du formateur
Solution de référence :
.container { display: flex; justify-content: center; }
#3 — Centrage Vertical
Atelier #3

Aligne les éléments au centre sur l'axe secondaire (vertical par défaut).

Correction instantanée et bienveillante
Diagnostic du tuteur IA Weegosoft :
Consulter la solution type du formateur
Solution de référence :
.container { display: flex; align-items: center; }
#4 — Passage à la ligne
Atelier #4

Autorise les éléments à passer à la ligne s'ils n'ont plus de place.

Correction instantanée et bienveillante
Diagnostic du tuteur IA Weegosoft :
Consulter la solution type du formateur
Solution de référence :
.container { display: flex; flex-wrap: wrap; }
#5 — Flex Grow
Atelier #5

Fais en sorte qu'un élément enfant prenne tout l'espace restant disponible.

Correction instantanée et bienveillante
Diagnostic du tuteur IA Weegosoft :
Consulter la solution type du formateur
Solution de référence :
.item-grow { flex-grow: 1; }
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...