Proprietà backdrop-filter
La proprietà backdrop-filter consente di applicare filtri (sfocatura, modifica del contrasto, effetti di colore)
all'area che si trova dietro l'elemento. Ciò crea un effetto "vetro" o "vetro smerigliato".
Sintassi
selettore {
backdrop-filter: none | <filtro> [<filtro>]*;
}
Valori
| Valore | Descrizione |
|---|---|
none |
Nessun filtro applicato (valore predefinito). |
blur() |
Applica un effetto di sfocatura (ad esempio: blur(5px)). |
brightness() |
Modifica la luminosità dello sfondo (ad esempio: brightness(0.5)). |
contrast() |
Modifica il contrasto dello sfondo (ad esempio: contrast(200%)). |
drop-shadow() |
Aggiunge un'ombra allo sfondo. |
grayscale() |
Converte lo sfondo in scala di grigi (ad esempio: grayscale(100%)). |
hue-rotate() |
Modifica la tonalità di colore dello sfondo (ad esempio: hue-rotate(90deg)). |
invert() |
Inverte i colori dello sfondo (ad esempio: invert(100%)). |
opacity() |
Modifica la trasparenza dello sfondo (ad esempio: opacity(50%)). |
sepia() |
Applica l'effetto seppia allo sfondo (ad esempio: sepia(100%)). |
saturate() |
Modifica la saturazione dei colori dello sfondo (ad esempio: saturate(200%)). |
È possibile combinare più filtri, elencandoli separati da spazi.
Esempio . Sfocatura semplice
Effetto base di sfocatura dello sfondo:
<div class="blur-example">
<div class="blur-box">
Effetto sfocatura sfondo
</div>
</div>
.blur-example {
background: linear-gradient(135deg, #667eea, #764ba2);
padding: 40px;
height: 200px;
}
.blur-box {
backdrop-filter: blur(6px);
background-color: rgba(255, 255, 255, 0.2);
border-radius: 8px;
padding: 20px;
width: 80%;
margin: 0 auto;
text-align: center;
color: white;
font-size: 22px;
}
:
Esempio . Filtro luce calda
Effetto di illuminazione calda con luminosità aumentata:
<div class="warm-light-bg">
<div class="warm-light">
Effetto luce calda
</div>
</div>
.warm-light-bg {
background: url('bg.png');
background-size: cover;
padding: 50px;
height: 250px;
}
.warm-light {
backdrop-filter: brightness(1.2) hue-rotate(20deg);
background-color: rgba(255, 235, 205, 0.3);
padding: 25px;
width: 70%;
margin: 20px auto;
text-align: center;
color: #333;
font-size: 24px;
}
:
Esempio . Sfocatura con maschera gradiente
Combinazione di sfocatura e gradiente semitrasparente:
<div class="gradient-mask">
<div class="mask-content">
Effetto maschera gradiente
</div>
</div>
.gradient-mask {
background: url('bg.png') center/cover;
padding: 50px;
height: 300px;
}
.mask-content {
backdrop-filter: blur(10px);
background: linear-gradient(to right, rgba(255,255,255,0.3), rgba(255,255,255,0));
padding: 30px;
width: 80%;
margin: 0 auto;
}
:
Esempio . Effetto vecchio film
Combinazione di seppia e grana:
<div class="old-film">
<div class="film-effect">
Effetto vecchio film
</div>
</div>
.old-film {
background: url('bg.png') center/cover;
padding: 40px;
height: 250px;
}
.film-effect {
backdrop-filter: sepia(80%) contrast(110%) brightness(90%);
background-color: rgba(0,0,0,0.1);
padding: 25px;
width: 70%;
margin: 20px auto;
}
:
Esempio . Filtro blu freddo
Effetto di illuminazione fredda:
<div class="cold-bg">
<div class="cold-effect">
Filtro blu freddo
</div>
</div>
.cold-bg {
background: url('bg.png') center/cover;
padding: 50px;
height: 300px;
}
.cold-effect {
backdrop-filter: hue-rotate(180deg) brightness(85%);
background-color: rgba(200,230,255,0.2);
padding: 30px;
width: 75%;
margin: 0 auto;
}
:
Esempio . Alto contrasto
Effetto di contrasto elevato:
<div class="contrast-bg">
<div class="contrast-effect">
Alto contrasto
</div>
</div>
.contrast-bg {
background: url('bg.png') center/cover;
padding: 40px;
height: 250px;
}
.contrast-effect {
backdrop-filter: contrast(200%) brightness(90%);
background-color: rgba(0,0,0,0.1);
padding: 25px;
width: 70%;
margin: 20px auto;
}
:
Esempio . Effetto acquarello
Sfocatura morbida con saturazione aumentata:
<div class="watercolor-bg">
<div class="watercolor-effect">
Effetto acquarello
</div>
</div>
.watercolor-bg {
background: url('bg.png') center/cover;
padding: 50px;
height: 300px;
}
.watercolor-effect {
backdrop-filter: blur(12px) saturate(200%);
background-color: rgba(255,255,255,0.15);
padding: 30px;
width: 80%;
margin: 0 auto;
}
:
Esempio . Ombra sullo sfondo
Effetto di ombra sull'immagine di sfondo:
<div class="shadow-bg">
<div class="shadow-effect">
Effetto ombra
</div>
</div>
.shadow-bg {
background: url('bg.png') center/cover;
padding: 40px;
height: 250px;
}
.shadow-effect {
backdrop-filter: drop-shadow(4px 4px 10px rgba(0,0,0,0.5));
background-color: rgba(255,255,255,0.2);
padding: 25px;
width: 70%;
margin: 20px auto;
}
:
Esempio . Inversione completa
Inversione completa dei colori dello sfondo:
<div class="invert-bg">
<div class="invert-effect">
Inversione completa
</div>
</div>
.invert-bg {
background: url('bg.png') center/cover;
padding: 50px;
height: 300px;
}
.invert-effect {
backdrop-filter: invert(100%);
background-color: rgba(0,0,0,0.1);
padding: 30px;
width: 80%;
margin: 0 auto;
}
:
Esempio . Effetto scurimento
Scurimento dello sfondo mantenendo la leggibilità del testo:
<div class="darken-bg">
<div class="darken-effect">
Sfondo scurito
</div>
</div>
.darken-bg {
background: url('bg.png') center/cover;
padding: 50px;
height: 300px;
}
.darken-effect {
backdrop-filter: brightness(40%);
background-color: rgba(0,0,0,0.3);
color: white;
padding: 30px;
width: 80%;
margin: 0 auto;
}
:
Esempio . Effetto dissaturazione
Dissaturazione completa dello sfondo:
<div class="grayscale-bg">
<div class="grayscale-effect">
Filtro scala di grigi
</div>
</div>
.grayscale-bg {
background: url('bg.png') center/cover;
padding: 50px;
height: 300px;
}
.grayscale-effect {
backdrop-filter: grayscale(100%);
background-color: rgba(255,255,255,0.2);
padding: 30px;
width: 80%;
margin: 0 auto;
}
:
Esempio . Effetto saturazione aumentata
Potenziamento dei colori dello sfondo:
<div class="saturate-bg">
<div class="saturate-effect">
Colori super saturi
</div>
</div>
.saturate-bg {
background: url('bg.png') center/cover;
padding: 50px;
height: 300px;
}
.saturate-effect {
backdrop-filter: saturate(300%);
background-color: rgba(255,255,255,0.1);
padding: 30px;
width: 80%;
margin: 0 auto;
}
:
Esempio . Effetto artistico combinato
Combinazione di più filtri per un effetto artistico:
<div class="artistic-bg">
<div class="artistic-effect">
Combinazione artistica
</div>
</div>
.artistic-bg {
background: url('bg.png') center/cover;
padding: 50px;
height: 300px;
}
.artistic-effect {
backdrop-filter: blur(3px) hue-rotate(90deg) saturate(150%) contrast(120%);
background-color: rgba(255,255,255,0.15);
padding: 30px;
width: 80%;
margin: 0 auto;
color: white;
text-shadow: 0 0 5px black;
}
:
Esempio . Effetto semitrasparenza
Regolazione della trasparenza dello sfondo:
<div class="opacity-bg">
<div class="opacity-effect">
Controllo trasparenza
</div>
</div>
.opacity-bg {
background: url('bg.png') center/cover;
padding: 50px;
height: 300px;
}
.opacity-effect {
backdrop-filter: opacity(50%);
background-color: rgba(0,0,0,0.3);
color: white;
padding: 30px;
width: 80%;
margin: 0 auto;
}
:
Supporto browser
La proprietà è supportata nella maggior parte dei browser moderni, ma potrebbe richiedere il prefisso -webkit-
per una completa compatibilità cross-browser.
Vedi anche
-
la proprietà
filter,
che applica effetti all'elemento stesso -
la proprietà
opacity,
che controlla la trasparenza dell'elemento -
la proprietà
background-blend-mode,
che definisce la modalità di fusione delle immagini di sfondo