CSS Flex Container
Propriétés du conteneur Flex CSS
L'élément conteneur flex peut avoir les propriétés suivantes :
-
display- Doit être défini surflexouinline-flex -
flex-direction- Définit la direction d'affichage des éléments flex -
flex-wrap- Spécifie si les éléments flex doivent se plier ou non -
flex-flow- Propriété abrégée pourflex-directionetflex-wrap -
justify-content- Aligne les éléments flex lorsqu'ils n'utilisent pas tout l'espace disponible sur l'axe principal (horizontalement) -
align-items- Aligne les éléments flex lorsqu'ils n'utilisent pas tout l'espace disponible sur l'axe transversal (verticalement) -
align-content- Aligne les lignes flex lorsqu'il y a de l'espace supplémentaire dans l'axe transversal et que les éléments flex se plient
Propriété flex-direction CSS
La propriété flex-direction spécifie la direction d'affichage des éléments flex dans le conteneur flex.
Cette propriété peut avoir l'une des valeurs suivantes :
-
row(par défaut) -
column -
row-reverse -
column-reverse
Exemple
La valeur row est la valeur par défaut, et elle affiche les éléments flex horizontalement (de gauche à droite) :
.flex-container {
display: flex;
flex-direction: row;
} Résultat :
Exemple
La valeur column affiche les éléments flex verticalement (de haut en bas) :
.flex-container {
display: flex;
flex-direction: column;
} Résultat :
Exemple
La valeur row-reverse affiche les éléments flex horizontalement (mais de droite à gauche) :
.flex-container {
display: flex;
flex-direction: row-reverse;
} Résultat :
Exemple
La valeur column-reverse affiche les éléments flex verticalement (mais de bas en haut) :
.flex-container {
display: flex;
flex-direction: column-reverse;
} Résultat :
Propriété flex-wrap CSS
La propriété flex-wrap spécifie si les éléments flex doivent se plier ou non, s'il n'y a pas assez de place pour eux sur une ligne flex.
Cette propriété peut avoir l'une des valeurs suivantes :
-
nowrap(par défaut) -
wrap -
wrap-reverse
Exemple
La valeur nowrap spécifie que les éléments flex ne se plieront pas (c'est par défaut) :
.flex-container {
display: flex;
flex-wrap: nowrap;
} Résultat :
Exemple
La valeur wrap spécifie que les éléments flex se plieront si nécessaire :
.flex-container {
display: flex;
flex-wrap: wrap;
} Résultat :
Exemple
La valeur wrap-reverse spécifie que les éléments flex se plieront si nécessaire, dans l'ordre inverse :
.flex-container {
display: flex;
flex-wrap: wrap-reverse;
} Résultat :
Propriété flex-flow CSS
La propriété flex-flow est une propriété abrégée pour définir à la fois flex-direction et flex-wrap .
Exemple
.flex-container {
display: flex;
flex-flow: row wrap;
}
Propriété justify-content CSS
La propriété justify-content est utilisée pour aligner les éléments flex lorsqu'ils n'utilisent pas tout l'espace disponible sur l'axe principal (horizontalement).
Cette propriété peut avoir l'une des valeurs suivantes :
-
center -
flex-start(par défaut) -
flex-end -
space-around -
space-between -
space-evenly
Exemple
La valeur center aligne les éléments flex au centre du conteneur :
.flex-container {
display: flex;
justify-content: center;
} Résultat :
Exemple
La valeur flex-start aligne les éléments flex au début du conteneur (c'est par défaut) :
.flex-container {
display: flex;
justify-content: flex-start;
} Résultat :
Exemple
La valeur flex-end aligne les éléments flex à la fin du conteneur :
.flex-container {
display: flex;
justify-content: flex-end;
} Résultat :
Exemple
La valeur space-around affiche les éléments flex avec de l'espace autour d'eux :
.flex-container {
display: flex;
justify-content: space-around;
} Résultat :
Exemple
La valeur space-between affiche les éléments flex avec de l'espace entre eux :
.flex-container {
display: flex;
justify-content: space-between;
} Résultat :
Exemple
La valeur space-evenly affiche les éléments flex avec un espace égal autour d'eux :
.flex-container {
display: flex;
justify-content: space-evenly;
} Résultat :
Propriété align-items CSS
La propriété align-items est utilisée pour aligner les éléments flex lorsqu'ils n'utilisent pas tout l'espace disponible sur l'axe transversal (verticalement).
Cette propriété peut avoir l'une des valeurs suivantes :
-
center -
flex-start -
flex-end -
stretch -
baseline -
normal(par défaut)
Dans les exemples suivants, nous utilisons un conteneur de 200 pixels de haut pour mieux démontrer la propriété align-items .
Exemple
La valeur center aligne les éléments flex au milieu du conteneur :
.flex-container {
display: flex;
height: 200px;
align-items: center;
} Résultat :
Exemple
La valeur flex-start aligne les éléments flex en haut du conteneur :
.flex-container {
display: flex;
height: 200px;
align-items: flex-start;
} Résultat :
Exemple
La valeur flex-end aligne les éléments flex en bas du conteneur :
.flex-container {
display: flex;
height: 200px;
align-items: flex-end;
} Résultat :
Exemple
La valeur stretch étire les éléments flex pour remplir le conteneur (c'est équivalent à "normal", qui est par défaut) :
.flex-container {
display: flex;
height: 200px;
align-items: stretch;
} Résultat :
Exemple
La valeur baseline aligne les éléments flex à la ligne de base du conteneur :
.flex-container {
display: flex;
height: 200px;
align-items: baseline;
} Remarque : L'exemple utilise différentes tailles de police pour démontrer que les éléments flex sont alignés par la ligne de base du texte :
1
2
3
Propriété align-content CSS
La propriété align-content est similaire à align-items , mais au lieu d'aligner les éléments flex, elle aligne les lignes flex.
Cette propriété peut avoir l'une des valeurs suivantes :
-
center -
stretch(par défaut) -
flex-start -
flex-end -
space-around -
space-between -
space-evenly
Dans les exemples suivants, nous utilisons un conteneur de 400 pixels de haut, avec la propriété flex-wrap définie sur wrap , pour mieux démontrer la propriété align-content .
Exemple
Avec center , les lignes flex sont regroupées vers le centre du conteneur :
.flex-container {
display: flex;
height: 400px;
flex-wrap: wrap;
align-content: center;
} Résultat :
Exemple
Avec stretch , les lignes flex s'étirent pour occuper l'espace restant du conteneur (c'est par défaut) :
.flex-container {
display: flex;
height: 400px;
flex-wrap: wrap;
align-content: stretch;
} Résultat :
Exemple
Avec flex-start , les lignes flex sont regroupées vers le début du conteneur :
.flex-container {
display: flex;
height: 400px;
flex-wrap: wrap;
align-content: flex-start;
} Résultat :
Exemple
Avec flex-end , les lignes flex sont regroupées vers la fin du conteneur :
.flex-container {
display: flex;
height: 400px;
flex-wrap: wrap;
align-content: flex-end;
} Résultat :
Exemple
Avec space-between , l'espace entre les lignes flex est égal, mais le premier élément est aligné avec le bord de début du conteneur, et le dernier élément est aligné avec le bord de fin du conteneur :
.flex-container {
display: flex;
height: 400px;
flex-wrap: wrap;
align-content: space-between;
} Résultat :
Exemple
Avec space-around , l'espace entre les lignes flex est égal, mais l'espace avant le premier élément et après le dernier élément est défini à la moitié de l'espace entre les lignes flex :
.flex-container {
display: flex;
height: 400px;
flex-wrap: wrap;
align-content: space-around;
} Résultat :
Exemple
Avec space-evenly , les lignes flex sont réparties uniformément dans le conteneur flex, avec un espace égal en haut, en bas et entre :
.flex-container {
display: flex;
height: 400px;
flex-wrap: wrap;
align-content: space-evenly;
} Résultat :
Centrage réel
L'exemple suivant montre comment résoudre un problème de style courant : le centrage réel.
Pour obtenir un centrage parfait, définissez à la fois les propriétés justify-content et align-items sur center pour le conteneur flex, et l'élément flex sera parfaitement centré à la fois horizontalement et verticalement :
Exemple
.flex-container {
display: flex;
height: 400px;
justify-content: center;
align-items: center;
}
Les propriétés du conteneur Flex CSS
Le tableau suivant répertorie toutes les propriétés du conteneur Flex CSS :
| Propriété | Description |
|---|---|
| align-content | Modifie le comportement de la propriété flex-wrap. Elle est similaire à align-items, mais au lieu d'aligner les éléments flex, elle aligne les lignes flex |
| align-items | Aligne verticalement les éléments flex lorsque ceux-ci n'utilisent pas tout l'espace disponible sur l'axe transversal |
| display | Spécifie le comportement d'affichage (le type de boîte de rendu) pour un élément |
| flex-direction | Spécifie la direction des éléments flex à l'intérieur d'un conteneur flex |
| flex-flow | Une propriété abrégée pour flex-direction et flex-wrap |
| flex-wrap | Spécifie si les éléments flex doivent se plier ou non, s'il n'y a pas assez de place pour eux sur une ligne flex |
| justify-content | Aligne horizontalement les éléments flex lorsque ceux-ci n'utilisent pas tout l'espace disponible sur l'axe principal |