W3docs

Proprietà CSS opacity

La proprietà CSS opacity imposta il livello di trasparenza di un elemento. Prova gli esempi e osserva i risultati.

La proprietà CSS opacity imposta la trasparenza di un elemento. Controlla l'intero elemento — testo, sfondo, bordi e tutti gli elementi figli sbiadiscono insieme. È una delle proprietà CSS3.

Usa opacity quando vuoi che un elemento (e tutto ciò che contiene) appaia sbiadito: per attenuare un pulsante inattivo, creare un effetto hover o sovrapporre una filigrana al contenuto.

Come funziona il valore di opacity

Il valore è un numero compreso tra 0 e 1:

  • 0 — l'elemento è completamente trasparente (invisibile, ma occupa ancora spazio e rimane interattivo).
  • 1 — valore predefinito, l'elemento è completamente opaco.
  • Qualsiasi valore intermedio, come 0.5, rende l'elemento parzialmente trasparente. Valori più bassi significano maggiore trasparenza.

Nei browser moderni è possibile esprimere il valore anche come percentuale, dove 50% equivale a 0.5.

Informazione

I valori negativi non sono validi e vengono limitati — il browser interpreta qualsiasi valore inferiore a 0 come 0 e qualsiasi valore superiore a 1 come 1.

Suggerimento

Opacity influisce anche sugli elementi figli. Quando si attenua un elemento genitore, ogni figlio viene attenuato con esso, e non è possibile rendere di nuovo completamente opaco un figlio assegnandogli opacity: 1. Se vuoi uno sfondo semitrasparente mantenendo testo e figli solidi, usa un colore RGBA su background-color — ad esempio background-color: rgba(142, 191, 66, 0.3).

Informazione

Un elemento con un valore di opacity inferiore a 1 crea un nuovo contesto di impilamento. Questo può modificare il modo in cui si sovrappone agli elementi vicini, quindi un elemento attenuato può apparire sopra o sotto i suoi fratelli in modo diverso da quanto ci si aspetta.

Valore iniziale1.0
Si applica aTutti gli elementi.
EreditatoNo.
AnimabileSì.
VersioneCSS3
Sintassi DOMobject.style.opacity = "0.3";

Sintassi

Sintassi CSS di opacity

opacity: number | initial | inherit;

Esempio della proprietà opacity:

Esempio di codice CSS con 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>

Risultato

Tre immagini con opacity 1.0, 0.6 e 0.2

Nell'esempio seguente, il livello di opacity della prima immagine è 1.0, la seconda immagine è 0.6 e la terza immagine è 0.2.

Esempio della proprietà opacity con tre livelli di trasparenza:

Altro esempio di codice CSS con 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. sfondi RGBA

Un errore comune è usare opacity quando si vuole solo uno sfondo semitrasparente. Poiché opacity attenua anche i figli, il testo all'interno di un riquadro diventa anch'esso sbiadito e più difficile da leggere. Un colore di sfondo RGBA applica la trasparenza solo al colore di sfondo, lasciando il testo completamente opaco:

/* 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);
}

Per controllare il colore del riquadro stesso, consulta background-color.

Dissolvenza al passaggio del mouse

Poiché opacity è animabile, si abbina naturalmente a transition per creare effetti di dissolvenza fluidi, come attenuare un'immagine finché l'utente non ci passa sopra con il mouse:

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

.thumb:hover {
  opacity: 1;
}

Opacity vs. visibility e display

opacity: 0, visibility: hidden e display: none nascondono tutti un elemento, ma si comportano in modo diverso:

DichiarazioneVisibileOccupa spazioCliccabile
opacity: 0No
visibility: hiddenNoNo
display: noneNoNoNo

Un elemento con opacity: 0 è invisibile ma risponde ancora ai clic, quindi aggiungi pointer-events: none se hai bisogno che sia non interattivo.

Valori

ValoreDescrizioneProva
numberDefinisce il livello di opacity. Il valore predefinito è 1.0.Prova »
initialImposta la proprietà al suo valore predefinito.Prova »
inheritEredita la proprietà dall'elemento genitore.

Pratica

Pratica
Cos'è la proprietà 'opacity' in CSS e come si usa?
Cos'è la proprietà 'opacity' in CSS e come si usa?
Was this page helpful?