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

* `flex`
* `flex-basis`
* `flex-direction`
* `flex-flow`
* `flex-grow`
* `flex-shrink`
* `flex-wrap`
* `order`
### 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*.

* `align-content`
* `align-items`
* `align-self`
* `justify-content`
* `place-items`
* `place-content`
* `row-gap`
* `column-gap`
* `gap`
### Termes du glossaire

* Flexbox / boîte flexible
* Conteneur flexible
* Objet flexible
* Axe principal
* Axe secondaire
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
----------

* 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