Disposition des boîtes flexibles CSS
Le module de disposition des boîtes flexibles CSS (CSS Flexible Box Layout) est un module de CSS qui définit un modèle de boîtes optimisé pour la conception des interfaces utilisateurs. En utilisant le modèle des boîtes flexibles, les éléments d'une conteneur flexible peuvent être disposés dans n'importe quelle direction et étendre leurs dimensions (pour remplir un espace vide) ou se réduire pour éviter de dépasser en dehors de l'élément parent. On peut facilement manipuler les alignements horizontal et vertical des éléments fils. On peut aussi imbriquer plusieurs niveaux de boîtes flexibles afin de construire des dispositions en deux dimensions..
Exemple
Dans l'exemple qui suit, on utilise display: flex
pour un conteneur. Cela signifie que les trois éléments fils deviennent des éléments flexibles. La propriété justify-content
a été paramétrée avec la valeur space-between
afin d'espacer les éléments de façon égale le long de l'axe principal. Ainsi, on a le même espace à droite et à gauche de chaque élément et, aux extrêmités du conteneur, les bords des éléments fils qui sont alignés avec les bords du conteneur. On peut également voir que les éléments sont étirés le long de l'axe orthogonal (cross axis) car la valeur par défaut de la propriété align-items
est stretch
. Ainsi, les éléments flexibles s'étirent pour occuper toute la hauteur du conteneur flexible, ils sont donc aussi grands que le plus grand des éléments.
Référence
Propriétés CSS
Propriétés relatives à l'alignement
Les propriétés align-content
, align-self
, align-items
et justify-content
étaient initialement définies dans la spécification Flexbox mais sont désormais définies dans la spécification sur l'alignement des boîtes et la spécification Flexbox fait référence à cette nouvelle spécification pour les définitions à jour. Des propriétés d'alignement additionnelles ont également été définies dans le module de spécification Box Alignment.
Termes du glossaire
Guides
- Les concepts de base des boîtes flexibles
-
Un aperçu des différentes fonctionnalités offertes par les boîtes flexibles.
- Les liens entre flexbox et les autres méthodes de disposition
-
Comment flexbox s'articule avec les autres méthodes de disposition et les différents modules de spécification CSS.
- L'alignement des éléments au sein d'un conteneur flexible
-
Le fonctionnement des propriétés d'alignement des boîtes dans le contexte des boîtes flexibles.
- Ordonner les éléments flexibles
-
Ce guide explique les différentes méthodes qui permettent de modifier l'ordre et la direction des éléments dans le conteneur flexible et aborde également les problèmes que cela peut causer.
- Contrôler les proportions des éléments flexibles le long de l'axe principal
-
Cet article explique le fonctionnement des propriétés
flex-grow
,flex-shrink
etflex-basis
. - Maîtriser le passage à la ligne des éléments flexibles
-
Comment créer des conteneur flexibles qui s'étendent sur plusieurs lignes et contrôler l'affichage des éléments sur ces lignes.
- Les cas d'utilisation classiques des boîtes flexibles
-
Des design patterns pouvant être résolus avec les boîtes flexibles.
- La rétrocompatibilité de flexbox
-
L'état de la compatibilité des navigateurs pour les boîtes flexibles, les différents problème d'interopérabilité, la gestion des anciens navigateurs et l'évolution de la spécification.
Spécifications
Specification |
---|
CSS Flexible Box Layout Module Level 1 |
Voir aussi
- Flexbugs : une liste, maintenue par la communauté, des différents bugs des navigateurs relatifs aux boîtes flexibles et les éventuelles méthodes de contournements associées
- Mixins multi-navigateurs pour flexbox : cet article fournit un ensemble de mixins pour obtenir l'effet des flexbox de façon homogène sur les différents navigateurs qui ne supportent pas la syntaxe moderne pour les boîtes flexibles