Web Statique 2023-2024 Partie 4 (CSS FlexBox)
Web Statique 2023-2024 Partie 4 (CSS FlexBox)
Web Statique 2023-2024 Partie 4 (CSS FlexBox)
FlexBox
FlexBox c’est quoi ?
Le conteneur flex (flex container) ou bien la boite dite « parent », contient les
éléments flex (flex items) ou bien les boites « enfants ».
L'idée est définir, en utilisant les différentes propriétés CSS, l'ordre des "boites
enfants" dans la "boite parent".
Définir le conteneur flex (flex container)
Le conteneur (container) est une balise html qui contient d'autres balises html.
Cette balise <div> contient deux balises <div> et une balise <figure>. Ces
dernières deviennent alors des "éléments flex" (flex items) mis en évidence ici par la
classe ".element".
Définir le conteneur flex (flex container)
La boite se transforme en "conteneur flex" dès lors qu'on lui attribue la propriété
CSS "flex"comme montré dans le code CSS suivant :
Définir le conteneur flex (flex container)
flex-direction
flex-wrap
flex-flow
justify-content
align-items
align-content
Définir les axes du conteneur flex
L’axe principal est défini par la propriété flex-direction qui peut prendre les valeurs
suivantes:
row-reverse : les éléments flex se suivent sur une ligne en ordre inversé.
column-reverse : les éléments flex se suivent sur une colonne en ordre inversé
Définir les axes du conteneur flex
Le choix des axes est essentiel car leur orientation va déterminer le résultat de l'application
La propriété flex-direction
Par défaut, les blocs essaient de rester sur la même ligne s'ils n'ont pas la
place, quitte à "s'écraser", et provoquer parfois des anomalies dans la mise en
page (certains éléments pouvant dépasser de leur conteneur). Si vous voulez,
vous pouvez demander à ce que les blocs retournent à la ligne lorsqu'ils n'ont
plus la place, avec flex-wrap.
La propriété "flex-wrap" peut prendre les valeurs suivantes :
flex-wrap : nowrap
flex-wrap : wrap
flex-wrap : wrap-reverse
La propriété flex-wrap
flex-wrap : nowrap : c’est la valeur initiale. Si les éléments flexibles sont trop
larges pour tenir dans leur conteneur, ils débordent du conteneur
La propriété flex-wrap
flex-wrap : wrap : si les éléments flexibles sont trop larges pour tenir dans le
conteneur, ils passent automatiquement sur la ligne suivante (du haut vers le
bas)
La propriété flex-wrap
stretch:
flex-start:
flex-end:
center:
baseline:
Les propriétés d alignement sur l’axe secondaire
align-items : flex-end : les éléments flexibles sont alignés sur la ligne de fin
de l'axe secondaire.
Les propriétés d alignement sur l’axe secondaire
align-items : center : les éléments flexibles sont centrés sur la ligne d'axe
secondaire.
Les propriétés d alignement sur l’axe secondaire
align-items : baseline : les éléments flexibles sont alignés sur leur ligne de
base (les textes sont alignés).
Les propriétés d alignement sur l’axe secondaire
order
flex-grow
flex-shrink
flex-basis
flex
align-self
Les propriétés des éléments flex
La propriété flex-basis définit la taille par défaut d'un élément. Elle peut prendre
des valeurs définies (3 em, 20 px, auto), des valeurs globales (inherit, initial,
unset), des valeurs définies par mots-clés (fill, max-content, min-content, fit-
content) ou la valeur "content" qui calcule la taille automatiquement en fonction
du contenu de l'élément
Les propriétés des éléments flex
La propriété flex est une propriété raccourcie combinant les propriétés "flex-
grow", "flex-shrink" et "flex-basis"
Les propriétés des éléments flex
La propriété flex est une propriété raccourcie combinant les propriétés "flex-
grow", "flex-shrink" et "flex-basis"
Les propriétés des éléments flex
Ecrire le code HTML et les feuilles CSS pour créer la page suivante :
Exercice
Ecrire le code HTML et les feuilles CSS pour créer la page suivante :