CSS Flexbox : aide-mémoire
justify-content, align-items, flex-grow : les propriétés Flexbox à connaître pour aligner et répartir des éléments sans galérer.
Sur le conteneur
.conteneur { display: flex; flex-direction: row; /* row | row-reverse | column | column-reverse */ flex-wrap: wrap; /* nowrap | wrap | wrap-reverse */ justify-content: center; /* alignement sur l'axe principal */ align-items: center; /* alignement sur l'axe secondaire */ gap: 1rem; }
justify-content
| Valeur | Effet |
|---|---|
flex-start |
Éléments collés au début |
center |
Éléments centrés |
flex-end |
Éléments collés à la fin |
space-between |
Espace égal entre les éléments |
space-around |
Espace égal autour de chaque élément |
space-evenly |
Espace strictement égal partout |
Sur les enfants
.enfant { flex-grow: 1; /* capacité à grandir pour occuper l'espace libre */ flex-shrink: 1; /* capacité à rétrécir si ça manque de place */ flex-basis: 200px; /* taille de départ avant grow/shrink */ align-self: flex-start; /* override align-items pour cet élément */ order: 2; /* réordonner visuellement sans toucher le HTML */ }
flex: 1 est un raccourci pour flex-grow: 1; flex-shrink: 1; flex-basis: 0% — l'élément occupe alors une part égale de l'espace disponible.
Centrer un élément (le classique)
.conteneur { display: flex; justify-content: center; align-items: center; }
gap plutôt que margin
/* à éviter : marge sur chaque enfant, à corriger sur le dernier */ .enfant { margin-right: 1rem; } .enfant:last-child { margin-right: 0; } /* préférable : gap gère l'espacement pour vous */ .conteneur { display: flex; gap: 1rem; }
gap fonctionne aussi en Flexbox (pas seulement en Grid) dans tous les navigateurs modernes — plus besoin du bricolage :last-child.
Merci pour votre retour !