display

Détermine comment un élément se comporte dans la mise en page de la page et comment il organise ses enfants.

Valeur initiale
inline
Héritée
Non
Animable
non, il change de façon abrupte
S’applique à
tous les éléments
JavaScript
element.style.display = "flex"
Sur cette page

Exemple

#
CSS
.menu {
  display: flex;
  gap: 16px;
}

.menu a {
  display: inline-block;
  padding: 8px 14px;
}
Aperçu

Définition et utilisation

#

La propriété display est la base de toute mise en page. Elle indique deux choses : comment l’élément se comporte à l’extérieur (commence-t-il une nouvelle ligne comme un bloc, ou s’écoule-t-il dans le texte comme un élément en ligne) et comment il organise ses enfants (flux normal, Flexbox, Grid).

Les éléments de bloc, comme <div> ou <p>, occupent toute la largeur disponible et commencent sur une nouvelle ligne. Les éléments en ligne, comme <span> ou <a>, s’écoulent dans le texte et ignorent la largeur et la hauteur. inline-block combine les deux mondes : l’élément reste en ligne, mais on peut tout de même lui donner des dimensions.

Les valeurs flex et grid transforment l’élément en conteneur de mise en page moderne, et none retire complètement l’élément de la page, y compris l’espace qu’il occupait.

Syntaxe

#
Syntaxe
display: block | inline | inline-block | flex | inline-flex | grid | inline-grid | none | contents | …;

Valeurs

#
  • inline

    Les éléments s’écoulent en ligne comme du texte. La largeur 110px est ignorée.
  • block

    Chaque élément commence une nouvelle ligne et respecte la largeur.
  • inline-block

    Les éléments restent sur une seule ligne, mais ont leur propre largeur et des marges verticales.
  • flex

    Le conteneur organise ses enfants sur une ligne flexible. Ici, la valeur s’applique au parent.
  • grid

    Le conteneur organise ses enfants dans une grille. Ici, trois colonnes égales.
  • none

    L’élément disparaît et ne prend plus de place. Ici, on masque le deuxième élément.

Valeurs en pratique

#

inline

Les éléments s’écoulent en ligne comme du texte. La largeur 110px est ignorée.
.item { display: inline; }

block

Chaque élément commence une nouvelle ligne et respecte la largeur.
.item { display: block; }

inline-block

Les éléments restent sur une seule ligne, mais ont leur propre largeur et des marges verticales.
.item { display: inline-block; }

flex

Le conteneur organise ses enfants sur une ligne flexible. Ici, la valeur s’applique au parent.
.stage { display: flex; gap: 6px; }

grid

Le conteneur organise ses enfants dans une grille. Ici, trois colonnes égales.
.stage { display: grid; grid-template-columns: repeat(3, 1fr); }
.item { width: auto; }

none

L’élément disparaît et ne prend plus de place. Ici, on masque le deuxième élément.
.item:nth-child(2) { display: none; }

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

#
  • Si width ou margin-top ne fonctionne pas sur un élément, vérifiez qu’il n’est pas en ligne. inline-block ou block peuvent aider.
  • Pour masquer un élément uniquement visuellement, tout en le gardant accessible aux lecteurs d’écran, n’utilisez pas display: none.

Entrées associées

#

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