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 et flex-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