Propriété CSSFlexbox

justify-content

Répartit les éléments le long de l’axe principal d’un conteneur flex ou grid.

Valeur initiale
normal
Héritée
Non
Animable
non
S’applique à
conteneurs flex, conteneurs grid et conteneurs multi-colonnes
JavaScript
element.style.justifyContent = "center"
Sur cette page

Exemple

#
CSS
.toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
Aperçu

Définition et utilisation

#

La propriété justify-content décide quoi faire de l’espace libre sur l’axe principal du conteneur. En Flexbox, avec flex-direction: row, l’axe principal est horizontal, donc les éléments se déplacent vers la gauche, vers la droite, se regroupent au centre ou se répartissent avec des espaces égaux.

Elle n’agit que s’il reste de l’espace libre. Si les éléments remplissent tout le conteneur (par exemple avec flex-grow: 1), changer sa valeur ne change rien.

Dans une grille CSS Grid, la même propriété répartit des colonnes entières à l’intérieur du conteneur, lorsque la grille est plus étroite que le conteneur.

Syntaxe

#
Syntaxe
justify-content: normal | flex-start | flex-end | center | space-between | space-around | space-evenly | start | end;

Valeurs

#
  • flex-start

    Les éléments se placent au début de l’axe principal. Avec le sens d’écriture habituel en ligne, c’est le bord gauche.
  • flex-end

    Les éléments se déplacent vers la fin de l’axe principal.
  • center

    Les éléments se regroupent au centre, et l’espace libre se répartit également de chaque côté.
  • space-between

    Le premier élément se place au début, le dernier à la fin, et le reste de l’espace se répartit également entre les éléments.
  • space-around

    Chaque élément reçoit le même espace de chaque côté, donc les espaces près des bords sont deux fois plus petits qu’entre les éléments.
  • space-evenly

    Tous les espaces sont identiques : entre les éléments et près des bords du conteneur.

Valeurs en pratique

#

flex-start

Les éléments se placent au début de l’axe principal. Avec le sens d’écriture habituel en ligne, c’est le bord gauche.
.demo { justify-content: flex-start; }

flex-end

Les éléments se déplacent vers la fin de l’axe principal.
.demo { justify-content: flex-end; }

center

Les éléments se regroupent au centre, et l’espace libre se répartit également de chaque côté.
.demo { justify-content: center; }

space-between

Le premier élément se place au début, le dernier à la fin, et le reste de l’espace se répartit également entre les éléments.
.demo { justify-content: space-between; }

space-around

Chaque élément reçoit le même espace de chaque côté, donc les espaces près des bords sont deux fois plus petits qu’entre les éléments.
.demo { justify-content: space-around; }

space-evenly

Tous les espaces sont identiques : entre les éléments et près des bords du conteneur.
.demo { justify-content: space-evenly; }

Compatibilité des navigateurs

#

Largement disponible

Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.

  • Chrome
  • Edge
  • Firefox
  • Safari

Bonnes pratiques

#
  • Pour centrer un seul élément horizontalement et verticalement, display: flex; justify-content: center; align-items: center; suffit.
  • Plutôt que des marges entre les éléments, utilisez gap. justify-content ne s’occupera plus que du reste de l’espace libre.

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.