Flexbox

Introduction

Contrairement aux autres valeurs de display qui influencent uniquement l'affichage des éléments par rapport aux autres dans la page, la propriété display: flex; ou display: inline-flex; influence aussi l'affichage de ses enfants en les positionnant dans un corridor sur l'axe des X ou Y, en modifiant leur dimension, leur ordre, etc. afin de remplir l'espace disponible le plus adéquatement possible.

flex-direction

Comme son nom l'indique, la valeur de cette propriété définit la direction qu'auront ses enfants.

Valeurs possibles:

  • row➡️ (par défaut)
  • row-reverse⬅️
  • column⬇️
  • column-reverse ⬆️

flex-direction: row vs column


À gauche, flex-direction: row;
À droite, flex-direction: column;

flex-direction: row-reverse vs column-reverse


À gauche, flex-direction: row-reverse;
À droite, flex-direction: column-reverse;

flex-direction flex-direction

EXERCICE Flexbox Zombie - Chapitre 1 Les rudiments de l'arbalète.
justify-content

Un peu comme Word ou Google Doc, flexbox vous permet de justifier votre contenu horizontalement ↔️ afin atteindre l'affichage désiré.

Possibilités:

  • flex-start(par défaut)
  • flex-end
  • space-between
  • space-around
  • space-evenly
  • etc.

justify-content: flex-start vs flex-end


À gauche, justify-content: flex-start;
À droite, justify-content: flex-end;

justify-content: center vs space-between


À gauche, justify-content: center;
À droite, justify-content: space-between;

justify-content: space-around vs space-evenly


À gauche, justify-content: space-around;
À droite, justify-content: space-evenly;

Ces deux valeurs peuvent se ressembler dans un espace restreint, mais remarquer comment avec justify-content: space-around; chaque élément a un espace équivalent à gauche et à droite et comment l'espace de chacun des éléments s'additionne.

justify-content-space-around

Tandis qu'en justify-content: space-evenly; l'espace n'est pas additionné, mais plutôt jumelé afin de créer des espaces identiques entre chaque élément.

justify-content-space-evenly
EXERCICE Flexbox Zombie - Chapitre 2 Justifier le laser!
align-items

Dans la même lignée que justify-content, mais cette fois à la verticale ↕️.

Possibilités:

  • stretch(par défaut)
  • flex-start
  • flex-end
  • center
  • etc.

align-items: stretch vs center


À gauche, align-items: stretch;
À droite, align-items: center;

align-items: flex-start vs flex-end


À gauche, align-items: flex-start;
À gauche, align-items: flex-end;

flex-direction flex-direction

EXERCICE Flexbox Zombie - Chapitre 3 L'alignement du laser!
😅
justify-content et align-items sont l’équivalent de brancher une clé USB en CSS. Deux ou trois tentatives sont souvent requises avant d’obtenir le résultat espéré.
align-self

La propriété align-self est pratiquement identique à la propriété align-items à la différence qu'elle s'applique sur un élément en particulier, et non le parent, afin de l'aligner de façon différente aux autres.

Elle accepte aussi les valeurs:

  • stretch
  • flex-start
  • flex-end
  • center
  • etc.
flex-direction flex-direction

EXERCICE Flexbox Zombie - Chapitre 4 Une de ces choses est différente.
Inspecteur 🕵️‍♂️

L'inspecteur est d'une aide précieuse lorsque l'on manipule les éléments flexbox. Dans le DOM tree, les éléments en display: flex; ou display: inline-flex; sont mis en évidence grâce à un badge contenant le mot "flex". Lorsque cliqué, ce badge met en évidence la zone prise dans la page par le flexbox en question.

Lorsque l'on examine les propriétés CSS appliquées à cet élément on remarque à la droite de la propriété display un icône rappelant une grille. Lorsque cliqué, cet icône affiche différentes propriétés en lien avec flexbox, par exemple: flex-direction, justify-content, align-items, etc. Les valeurs disponibles pour ces propriétés sont illustrées avec des icônes permettant d'identifier ou de tester rapidement la valeur souhaitée.

EXERCICE Flexbox - Scrabble Potter Pour cet exercice, vous devez déplacer les lettres d’un jeu de Scrabble afin d’afficher correctement le nom de cinq des personnages de la...
EXERCICE Flexbox Froggy Niveau 1 à 13 Complétez les 13 premiers niveaux de Flexbox Froggy
EXERCICE Flexbox Defense Niveau 1 à 9 Complétez les 13 premiers niveaux de Flexbox Froggy
Résumé vidéo