W3docs

La propriété CSS opacity

La propriété CSS opacity définit le niveau de transparence d'un élément. Testez des exemples et observez les résultats.

La propriété CSS opacity définit le niveau de transparence d'un élément. Elle s'applique à l'élément entier — le texte, l'arrière-plan, les bordures et les éléments enfants s'estompent tous ensemble. C'est l'une des propriétés CSS3.

Utilisez opacity lorsque vous souhaitez qu'un élément (et tout ce qu'il contient) paraisse atténué : pour griser un bouton inactif, créer un effet de survol ou superposer un filigrane sur du contenu.

Comment fonctionne la valeur d'opacité

La valeur est un nombre compris entre 0 et 1 :

  • 0 — l'élément est entièrement transparent (invisible, mais il occupe toujours de l'espace et reste interactif).
  • 1 — la valeur par défaut, l'élément est entièrement opaque.
  • Toute valeur intermédiaire, telle que 0.5, rend l'élément partiellement transparent. Des valeurs plus basses signifient une plus grande transparence.

Vous pouvez également exprimer la valeur en pourcentage dans les navigateurs modernes, où 50% est équivalent à 0.5.

Info

Les valeurs négatives sont invalides et sont écrêtées — le navigateur traite tout ce qui est inférieur à 0 comme 0 et tout ce qui est supérieur à 1 comme 1.

Astuce

L'opacité affecte également les éléments enfants. Lorsque vous atténuez un parent, chaque enfant s'estompe avec lui, et vous ne pouvez pas rendre un enfant entièrement opaque en lui donnant opacity: 1. Si vous souhaitez uniquement un arrière-plan semi-transparent tout en conservant le texte et les enfants solides, utilisez une couleur RGBA sur background-color à la place — par exemple background-color: rgba(142, 191, 66, 0.3).

Info

Un élément dont la valeur d'opacity est inférieure à 1 crée un nouveau contexte d'empilement. Cela peut modifier la façon dont il chevauche les éléments voisins, de sorte qu'un élément atténué peut apparaître au-dessus ou en dessous de ses voisins différemment de ce que vous attendez.

Valeur initiale1.0
S'applique àTous les éléments.
HéritéeNon.
AnimableOui.
VersionCSS3
Syntaxe DOMobject.style.opacity = "0.3";

Syntaxe

Syntaxe CSS de opacity

opacity: number | initial | inherit;

Exemple de la propriété opacity :

Exemple de code CSS opacity

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .example1 {
        background-color: #8ebf42;
        opacity: 0.3;
      }
      .example2 {
        background-color: #8ebf42;
        opacity: 1;
      }
    </style>
  </head>
  <body>
    <h2>Opacity property example</h2>
    <h3>Opacity level is 0.3;</h3>
    <div class="example1"> Lorem Ipsum is dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. </div>
    <h3>Opacity level is 1;</h3>
    <div class="example2">Lorem Ipsum is dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.</div>
  </body>
</html>

Résultat

Trois images avec une opacité de 1.0, 0.6 et 0.2

Dans l'exemple ci-dessous, le niveau d'opacité de la première image est 1.0, la deuxième image est 0.6 et la troisième image est 0.2.

Exemple de la propriété opacity avec trois niveaux d'opacité :

Autre exemple de code CSS opacity

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      img.a {
        opacity: 1;
      }
      img.b {
        opacity: 0.6;
      }
      img.c {
        opacity: 0.2;
      }
    </style>
  </head>
  <body>
    <h2>Opacity property example</h2>
    <h3>Opacity: 1.0;</h3>
    <img src="/uploads/media/default/0001/01/4982c4f43023330a662b9baed5a407e391ae6161.jpeg" alt="house" width="300" height="300" class="a" />
    <h3>Opacity: 0.6;</h3>
    <img src="/uploads/media/default/0001/01/4982c4f43023330a662b9baed5a407e391ae6161.jpeg" alt="house" width="300" height="300" class="b" />
    <h3>Opacity: 0.2;</h3>
    <img src="/uploads/media/default/0001/01/4982c4f43023330a662b9baed5a407e391ae6161.jpeg" alt="house" width="300" height="300" class="c" />
  </body>
</html>

opacity vs. arrière-plans RGBA

Une erreur courante consiste à utiliser opacity lorsque vous souhaitez uniquement un arrière-plan semi-transparent. Parce que opacity atténue également les enfants, le texte à l'intérieur d'une boîte devient lui aussi flou et plus difficile à lire. Une couleur d'arrière-plan RGBA applique la transparence à la couleur de fond uniquement, en laissant le texte entièrement opaque :

/* Fades the whole box, including the text */
.with-opacity {
  background-color: #8ebf42;
  opacity: 0.3;
}

/* Only the background is transparent; text stays crisp */
.with-rgba {
  background-color: rgba(142, 191, 66, 0.3);
}

Pour contrôler la couleur de la boîte elle-même, voir background-color.

Atténuation au survol

Parce que opacity est animable, elle se combine naturellement avec transition pour créer des effets de fondu fluides, comme assombrir une image jusqu'à ce que l'utilisateur passe dessus :

.thumb {
  opacity: 0.6;
  transition: opacity 0.3s ease;
}

.thumb:hover {
  opacity: 1;
}

opacity vs. visibility et display

opacity: 0, visibility: hidden et display: none masquent tous un élément, mais ils se comportent différemment :

DéclarationVisibleOccupe de l'espaceCliquable
opacity: 0NonOuiOui
visibility: hiddenNonOuiNon
display: noneNonNonNon

Un élément avec opacity: 0 est invisible mais répond toujours aux clics, donc ajoutez pointer-events: none si vous avez besoin qu'il soit également non interactif.

Valeurs

ValeurDescriptionEssayer
numberDéfinit le niveau d'opacité. La valeur par défaut est 1.0.Essayer »
initialApplique la valeur par défaut de la propriété.Essayer »
inheritHérite de la propriété de son élément parent.

Pratique

Pratique
Qu'est-ce que la propriété 'opacity' en CSS et comment est-elle utilisée ?
Qu'est-ce que la propriété 'opacity' en CSS et comment est-elle utilisée ?
Was this page helpful?