📘 Chapitre 3 – Flexbox
1. 🎯 Objectif pédagogique
Maîtriser le système de mise en page Flexbox pour organiser les éléments dans un conteneur de manière flexible, responsive et alignée.
2. 📚 Concepts abordés
- Propriété
display: flex
- Axe principal et axe secondaire
- Propriétés du conteneur :
justify-content
,align-items
,flex-direction
,flex-wrap
- Propriétés des éléments enfants :
flex
,align-self
,order
- Alignements et répartitions d’espace
3. 🧠 Explication théorique
Flexbox (Flexible Box Layout) est un modèle de disposition qui simplifie la création de mises en page flexibles et centrées. Le conteneur principal doit avoir display: flex
, ce qui transforme ses enfants en éléments flexibles.
Exemple de conteneur flexible :
.container {
display: flex;
justify-content: space-between; /* Espace égal entre les éléments */
align-items: center; /* Alignement vertical */
}
Propriétés principales :
flex-direction
: définit l’axe principal (row
,column
).justify-content
: aligne sur l’axe principal (flex-start
,center
,space-between
,space-around
).align-items
: aligne sur l’axe secondaire (flex-start
,center
,stretch
).flex
(sur les enfants) : contrôle la largeur ou la proportion de l’espace.
4. 🛠 Tutoriel pratique
Résumé du travail : Créer un conteneur contenant trois blocs colorés alignés horizontalement et répartis avec des espaces égaux.
Arborescence du projet :
mon_projet/
├── index.html
└── style.css
Étape 1 : Structure HTML
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Exemple Flexbox</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
</div>
</body>
</html>
Étape 2 : Styles CSS
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
}
.container {
display: flex;
justify-content: space-around;
align-items: center;
height: 100vh;
background-color: #f4f4f4;
}
.box {
width: 80px;
height: 80px;
background-color: #3498db;
color: white;
display: flex;
align-items: center;
justify-content: center;
border-radius: 8px;
font-size: 1.5rem;
}
5. 🧾 Résumé et points-clés
- Flexbox simplifie la gestion des alignements horizontaux et verticaux.
justify-content
agit sur l’axe principal,align-items
sur l’axe secondaire.flex
etorder
permettent de contrôler la taille et l’ordre des éléments enfants.