CSS Flexbox - Apprendre les bases 1/2

Flexbox par-ci, flexbox par là. Qui n'a jamais entendu parler de flexbox ? Si vous êtes intéressés par le développement web, il y a de forte chance que vous ayez déjà croisé ce terme. Venez avec moi, car derrière ce mot dansant, se cache l'une des propriétés CSS la plus utilisée dans le monde du web.
•
Updated on August 14, 2026
•
7 min read
Believemy logo
This page is not yet available in your language, you see it in its original version.

ImageImage

FLEXBOX - Apprendre les bases

Partie 1

Sommaire

 

Présentation

Flexbox est le diminutif de Flexible Box Layout. Alors flexbox qu'est-ce que c'est ? Eh bien, c’est une propriété qui permet de rendre notre élément flexible.

Et comme cela veut tout et rien dire, alors un exemple s’impose. Je crée une <div></div> avec la class flex_container qui fera 500 px de largeur et de hauteur et qui sera de couleur violette.

HTML
<div class="flex_container"></div>
CSS
.flex_container {
  width: 500px;
  height: 500px;
  background-color: #892be299;
}

A purple square

Commençons à jouer avec Flexbox. Pour commencer ajoutons la propriété display: flex; à notre carré violet. Voyez-vous une différence ? Non ? Eh bien, cela est tout à fait normal, car la propriété en question ne s’utilise que sur l’élément parent et comme notre carré ne contient rien eh bien rien ne se passe.

Effaçons notre propriété et ajoutons trois enfants à ce carré, les trois de couleurs différentes.

 

Utilisation

HTML
<div class="flex_container">
   <div class="flex_container__child" id="blue"></div>
   <div class="flex_container__child" id="red"></div>
   <div class="flex_container__child" id="green"></div>
</div>
CSS
.flex_container__child {
  width: 100px;
  height: 100px;
}

#blue {
  background-color: blue;
}

#red {
  background-color: red;
}

#green {
  background-color: green;
}

A purple square with 3 other square in different colors

Nous constatons que nos trois éléments enfants se mettent l’un au-dessus de l’autre par défaut. Et si nous commencions à jouer avec flexbox ? Ça vous dit ?

Alors ajoutons notre propriété display: flex; à notre parent portant la classe flex_container.

CSS
.flex_container {
  /* FLEXBOX */
  display: flex;
  /************/
  width: 500px;
  height: 500px;
  background-color: #892be299;
}

A purple square with 3 other square in different colors in a row

L’élément parent devient flexible grâce à display: flex; donc les éléments enfants se mettent l’un à côté de l’autre.

Mais nous pouvons aller plus loin que cela, une fois que votre parent est flexible, il devient alors possible de jouer sur l’espacement occupé par nos enfants.

 

Alignement horizontal :

JUSTIFY-CONTENT: 

Il y a plusieurs choix possibles que je vais vous illustrer avec des capture d'écran.

 

SPACE-BETWEEN

CSS
justify-content: space-between;

Image

Grâce à justify-content: space-between; je signale à mes enfants qu’ils doivent occuper tout l’espace disponible. Les enfants vont automatiquement se séparer pour occuper toute la largeur.

Information importante : La séparation entre chaque cube est égale.

 

SPACE-AROUND

CSS
justify-content: space-around;

Image

Dans ce cas de figure, nous disons à flexbox: “Ok, je voudrais que les blocs soient espacés et ne soient pas collés aux bordures de notre carré violet”. Flexbox va alors espacer les carrés des bordures (à gauche et à droite) et mettre exactement le même espacement. Ensuite, il va espacer les éléments entre eux et mettre le même espacement. 

  1. La différence avec la prochaine valeur est que l’espacement entre les cubes et l’espacement entre les bordures n’est pas égales.

  2.  

SPACE-EVENLY

CSS
justify-content: space-evenly;

Image

La différence ici est que flexbox va faire en sorte que la séparation entre les blocs et les bordures soient toutes égales.

Je vous mets le lien vers MDN pour voir la totalité des possibilités  →   ICI.

 

Alignement vertical : 

ALIGN-ITEMS

Il est vrai qu'aligner nos éléments horizontalement, c’est sympa, mais il faut pouvoir contrôler l’alignement vertical et pour cela j’invoque align-items .

 

CENTER

align-items sur votre parent permettra de contrôler l’alignement vertical de vos éléments enfants. Maintenant que nous savons ça, amusons-nous un peu et ajoutons une propriété dans notre flex_container .

CSS
.flex_container {
  /* Flexbox */
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  /***********/
  width: 500px;
  height: 500px;
  background-color: #892be299;
}

ImageLes éléments enfants sont alignés au centre du parent.

Et voilà ! Nos éléments enfants sont parfaitement centrés grâce à align-items: center;  et parce que je ne suis pas un monstre, je vous en donne quelques une en plus 😉.

START

CSS
align-items: start;

ImageLes éléments enfants sont alignés au début du parent.

END

CSS
align-items: end;

ImageLes éléments enfants sont alignés à la fin du parent.

 

CHALLENGE :

"Oui, c’est bien beau tout ça, mais si je veux mettre un seul carré au milieu comment faire ?"

 

Pas de panique, car vous pouvez utiliser la propriété align-self sur un enfant pour le placer comme vous le souhaitez.
Je vous propose d’essayer de le faire tout seul. Si vous êtes un amoureux des formations de Believemy alors vous connaissez ce mot… Challenge.

Je veux que les trois carrés soient alignés diagonalement. Je souhaite le carré bleu au-dessus, le rouge au centre et le carré vert en bas.

Pour ce faire je vous donne un petit indice qui n’est pas si petit que ça. Comme son nom l’indique, align-self permet d’aligner verticalement l’élément lui-même, cette propriété ne s’utilise donc pas sur le parent, mais bien sûr l’enfant que l’on veut déplacer.

 

Tic…. tac… tic… tac…

 

Si vous avez réussi cet exercice eh bien bravo à vous, c’est que vous avez compris les premières bases de flexbox. Si vous n’avez pas réussi, ce n’est pas grave, essayez de reprendre l’article, de vous exercer sans regarder les captures d'écran.

"Correction ?"  Non… Défi bonus !

Pour ce défi bonus, je veux que vos carrés soient alignés de la même façon que le screenshot suivant :

ImageJe vous conseille vivement d’enlever toutes les propriétés flexbox avant de commencer pour ne pas vous perdre.

Tic…. tac… tic… tac…

"Correction ?"  Cette fois oui 😀.

Alors pour notre premier challenge, il fallait tout simplement mettre align-self sur nos éléments enfants pour pouvoir faire une belle diagonale.

CSS
/* Ne pas oublier d'enlever la propriété align-items sur 
le parent, qui ne sert plus a rien car nous contrôllons déja tous ces enfants
un par un. */
.flex_container {
  align-items: center;
}

#blue {
  background-color: blue;
  align-self: start;
}

#red {
  background-color: red;
  align-self: center;
}

#green {
  background-color: green;
  align-self: end;
}

 

DÉFI BONUS :

 

ÉTAPE 1 :

Pour ce défi bonus, il fallait tout d’abord recréer un carré de couleur jaune. Pour cela, rien de plus simple.

HTML
<div class="flex_container__child" id="yellow"></div>
CSS
#yellow {
	background-color: yellow;
}

 

ÉTAPE 2:

Ensuite, je vous avais conseillé d’enlever toutes les propriétés flexbox pour ne pas vous emmêler les pinceaux comme on dit. Nous repartons donc depuis le début de notre css.

CSS
.flex_container {
  width: 500px;
  height: 500px;
  background-color: #892be299;
}

.flex_container__child {
  width: 100px;
  height: 100px;
}

#blue {
  background-color: blue;
}

#red {
  background-color: red;
}

#green {
  background-color: green;
}

#yellow {
  background-color: yellow;
}

 

ÉTAPE 3 :

Sur la capture d’écran, nous pouvons constater qu’il y a deux carrés en bas, nous pouvons dores et déjà mettre les propriétés display: flex; et align-items: end; sur notre parent. Si vous avez préféré contrôler vos éléments un par un, cela fonctionne aussi.

CSS
.flex_container {
  /*FLEXBOX*/
  display: flex;
  align-items: end;
  /*********/
  width: 500px;
  height: 500px;
  background-color: #892be299;
}

Image

ÉTAPE 4 :

Il est venu le moment de l’espacement entre nos cubes. Sur la capture d’écran, nous constatons que l’espacement entre les bordures et nos cubes n’existe pas, donc nous pouvons assurément dire qu’il s’agit d’un justify-content: space-between; .

CSS
.flex_container {
  /*FLEXBOX*/
  display: flex;
  align-items: end;
  justify-content: space-between;
  /*********/
  width: 500px;
  height: 500px;
  background-color: #892be299;
}

Image

ÉTAPE 5 :

Il ne nous reste plus qu’à déplacer notre cube rouge ainsi que notre cube jaune et comme nous souhaitons cibler ces deux éléments un par un nous utiliserons sur eux align-self .

CSS
#blue {
  background-color: blue;
}

#red {
  background-color: red;
  align-self: center;
}

#green {
  background-color: green;
}

#yellow {
  background-color: yellow;
  align-self: start;
}

Image

Et voilà la tour est joué ! 🥳.

Bravo, nous possédons maintenant les bases de flexbox pour mieux aborder la suite !  🥳

Cet article n’est que le début d’une suite, car le sujet de flexbox est plutôt complexe à aborder dans un seul article et je ne veux pas vous perdre 🙂.

Dans la suite, nous aborderons flex-direction et flex-wrap et d’autres, je vous donne donc rendez-vous dans la partie 2.

 

Merci de m’avoir lu et à très bientôt sur Believemy !

 

Category: Developers

Share this article

Want to help us? Share this article on your networks or even better: on your site, in an article or in your newsletter.

Believemy logo
Comments (0)

You need to be logged in to comment on this article: log in or sign up.

Read next

CSS Flexbox - Apprendre les bases 2/2

Alors ça y est ! Vous êtes convaincu de l'utilité de flexbox ? Si oui, alors revenez, car je n'en ai pas fini avec vous 🙂 ! Cette fois-ci, nous attaquons les propriétés flex-direction et flex-wrap.

July 11, 2022

Le guide complet sur Flexbox CSS

Vous êtes en train d'apprendre à utiliser Flexbox ? Vous cherchez comment utiliser Flexbox avec le CSS ? Vous ne savez pas comment fonctionne Flexbox ? Bienvenue sur le guide complet sur Flexbox CSS !

April 2, 2024

Comment centrer verticalement avec CSS ?

Apprenez à centrer verticalement un texte ou un élément en CSS avec des techniques modernes comme Flexbox et les grilles, ainsi qu'avec d'autres méthodes plus anciennes comme les positions et les tableaux.

October 17, 2024

Comment centrer avec CSS ?

Découvrez toutes les manières de centrer avec CSS une bonne fois pour toutes.

September 16, 2024

Relier le CSS au HTML : 3 méthodes expliquées simplement

Découvrez les 3 méthodes pour relier le CSS au HTML : feuille externe, style interne et inline. Exemples de code, bonnes pratiques et erreurs à éviter.

March 22, 2026

Créer un hovered avec CSS

Dans ce tutoriel nous allons voir comment créer facilement un overlay avec CSS !

June 10, 2020

Comment tronquer un texte avec Text Ellipsis en CSS ?

Apprenez à tronquer un texte trop long avec la propriété CSS text-overflow: ellipsis. Découvrez des exemples concrets pour gérer les textes sur une seule ligne ou multilignes, et optimisez l'expérience utilisateur.

October 16, 2024

Créer un menu qui s'étend sur toute la page avec CSS

Il nous arrive de temps en temps de devoir demander à notre visiteur sur quelle page il veut aller, en lui affichant les principales sections de notre site internet. Ce menu n'est pas souvent très agréable à utiliser, découvrons ensemble dans cet article comment faire pour le rendre beaucoup plus moderne avec de belles animations qui donneront à vos passants l'envie de visiter votre site !

November 19, 2020

Become the solopreneur you dream of being.

First project, career change, business launch: access our courses, practice on real-world cases, and move forward with clear guidance.