English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
L'attributo CSS opacity specifica la trasparenza dell'elemento. L'attributo opacity specifica la trasparenza di un elemento. In altre parole, l'attributo opacity specifica la copertura del retro del background dell'elemento.
Ora, la trasparenza (opacity) fa parte della specifica CSS3, ma esiste da molto tempo. Tuttavia, i browser più vecchi hanno modi diversi per specificare la trasparenza o l'opacità.
Questo è il linguaggio grammaticale più recente della trasparenza CSS in tutti i browser attuali.
p { opacity: 0.7; }Prova a vedere‹/›
La regola di stile sopra renderà l'elemento paragrafo al 70% opaco (o al 30% trasparente).
Il valore della proprietà opacity va da 0.0 a 1.0. Impostare opacity: 1; rende l'elemento completamente opaco (cioè 0% trasparente), mentre opacity: 0; rende l'elemento completamente trasparente (cioè 100% trasparente).
Internet Explorer 8 e versioni precedenti supportano il proprietario di Microsoft "alpha filter" per specificare l'opacità degli elementi.
p { filter: alpha(opacity=50); zoom: 1; /* Correzione per IE7 */ }Prova a vedere‹/›
Attenzione: Il filtro alpha in IE accetta valori da 0 a 100. Il valore 0 rende l'elemento completamente trasparente (cioè 100% trasparente), mentre il valore 100 rende l'elemento completamente opaco (cioè 0% trasparente).
Combinate le due fasi precedenti, otterraitutti i browserdeiCodice di trasparenza.
p { opacity: 0.5; /* Opacità per browser moderni */ filter: alpha(opacity=50); /* Opacità per IE8 e versioni inferiori */ zoom: 1; /* Correzione per IE7 */ }Prova a vedere‹/›
Attenzione:InclusiFiltro alphaPer specificare la trasparenza in Internet Explorer 8 e versioni precedenti, poiché questa è una proprietà di Microsoft e non una proprietà CSS standard, il codice nello stile sarà invalido.
Puoi anche creare immagini trasparenti utilizzando CSS Opacity.
Le tre immagini nella figura sottostante provengono dalla stessa immagine di origine. L'unica differenza tra loro è la loro trasparenza.
opacity:1 | opacity:0.5 | opacity:0.25 |
Esempi seguenti dimostrano l'uso comune della trasparenza delle immagini CSS, dove, quando il puntatore del mouse viene mosso sull'immagine, la trasparenza dell'immagine cambia.
—Spostare il puntatore del mouse sull'immagine per vedere l'effetto.
Quando si utilizza l'opacità sugli elementi, non solo lo sfondo dell'elemento avrà la trasparenza, ma anche tutti i suoi elementi figli diventeranno trasparenti. Se il valore dell'opacità aumenta, il testo all'interno dell'elemento trasparente sarà difficile da leggere.
OPACITY | OPACITY | OPACITY | OPACITY |
Per prevenire questo, puoi utilizzare un'immagine PNG trasparente o posizionare il blocco di testo al di fuori del riquadro trasparente e utilizzare un negativoMargineoPosizionamento CSSSpostare visivamente all'interno.
div { float: left; opacity: 0.7; border: 1px solid #949781; } p { float: left; position: relative; margin-left: -400px; }Prova a vedere‹/›
Oltre al RGB, CSS3 ha introdotto un nuovo metodo RGBA per specificare un colore, che include la trasparenza alpha come parte del valore del colore. RGBA rappresenta Rosso, Blu, Verde, Alpha.
La dichiarazione RGBA è un metodo molto semplice per impostare l'opacità del colore.
div { background: rgba(200, 54, 54, 0.5); } p { color: rgba(200, 54, 54, 0.25); }Prova a vedere‹/›
I primi tre numeri rappresentano i valori RGB del colore, ossia rosso (0-255), verde (0-255), blu (0-255), mentre il quarto numero rappresenta un valore di opacità alpha tra 0 e 1 (0 rende il colore completamente trasparente, mentre il valore 1 lo rende completamente opaco).
Una caratteristica importante da notare riguardo all'opacità RGBA è la capacità di specificare l'opacità di un singolo colore. Utilizzando RGBA, possiamo rendere trasparente il colore del testo dell'elemento mantenendo lo sfondo completo.
RGBA | RGBA | RGBA | RGBA |
oppure ignora il colore del testo, cambiando solo l'opacità dello sfondo.
RGBA | RGBA | RGBA | RGBA |
Vedrai che è facile specificare un singolo colore con RGBA invece dell'opacità dell'intero elemento. Tuttavia, è sempre consigliabile definire un colore di riserva per i browser che non supportano RGBA.
Attenzione: L'opacità RGBA non influisce sui figli come l'attributo opacity. Il valore alpha di RGBA influisce su un singolo colore piuttosto che sull'opacità dell'intero elemento.
Tutti i browser non supportano i colori RGBA. Ma, puoi fornire altre opzioni per i browser non supportati, come immagini PNG monocromatiche o trasparenti.
p { /* Fallback per browser web che non supportano RGBA */ background: rgb(0, 0, 0); /* RGBA con 0.5 di opacità */ background: rgba(0, 0, 0, 0.5); }Prova a vedere‹/›
Attenzione: Internet Explorer 8 e versioni precedenti non supportano i colori RGBA. UtilizzanoSfumatura di gradienteper ottenere l'effetto non raccomandato di RGBA.