Flexbox — Order
Introduction
La propriété order permet de réorganiser visuellement les éléments flexbox sans modifier le HTML. Par défaut, tous les éléments ont un order: 0. Les éléments sont affichés du plus petit au plus grand. Si deux éléments ont le même chiffre attribué, c'est leur position dans le HTML qui détermine leur affichage.
Exemple interactif
<div class="container"><div class="el1">Premier
</div>order:
<div class="el2">Deuxième
</div>order:
<div class="el3">Troisième
</div>order:
</div>.container { display: flex; gap: 0.5rem; } .el1 { } .el2 { } .el3 { }
La valeur par défaut de
order est 0. Les éléments sont triés du plus petit au plus grand. À valeur égale, c'est l'ordre du HTML qui prime.Cas d'usage
La propriété order est particulièrement utile pour :
- Responsive design : afficher un élément en premier sur mobile mais en dernier sur desktop
- Accessibilité : garder un ordre logique dans le HTML pour les lecteurs d'écran, tout en ayant un ordre visuel différent
- Mise en avant : faire remonter un élément important sans toucher au HTML
Exercice
Zone éditable
<style> .container { display: flex; gap: 0.5rem; } .sidebar { /* 🦊 Cette sidebar doit apparaître À DROITE du main sans changer le HTML! */ background: lightblue; padding: 1rem; width: 150px; } main { background: lightyellow; padding: 1rem; flex: 1; } </style> <div class="container"> <aside class="sidebar">Sidebar</aside> <main>Contenu principal</main> </div>