Generatore di Filtri CSS

Avanti

La proprietà CSS filter applica effetti di elaborazione delle immagini, come sfocatura, luminosità, contrasto e saturazione, a qualsiasi elemento, non solo alle immagini. Gli errori arrivano quando si concatenano più filtri e si sbagliano le unità. Questo generatore costruisce la dichiarazione filter per le cinque funzioni più comuni: sfocatura, luminosità, contrasto, scala di grigi e saturazione. Inserisci i tuoi valori e copia il CSS risultante.

Come creare una catena di filtri

  1. 1

    Inserisci i valori

    La sfocatura è in pixel; luminosità, contrasto, scala di grigi e saturazione in percentuale.

  2. 2

    Comprendi la scala

    Luminosità e contrasto al 100% significano nessun cambiamento; allo 0% l'elemento diventa nero o grigio. La scala di grigi va dallo 0% (colori pieni) al 100% (desaturazione totale); la saturazione al 100% lascia i colori invariati.

  3. 3

    Genera il CSS

    Clicca sul pulsante e lo strumento emette la regola `filter` combinata con tutte e cinque le funzioni.

  4. 4

    Copia la regola

    Copia il risultato e incollalo nel tuo foglio di stile.

  5. 5

    Controlla l'ordine

    Le funzioni vengono applicate da sinistra a destra. Se l'effetto non è quello atteso, regola i valori.

Le funzioni di filtro

Funzione Unità Effetto
blur() px Sfocatura gaussiana. 0 = nessuna sfocatura
brightness() % o decimale 100% = nessun cambiamento, 0% = nero, 200% = doppio
contrast() % o decimale 100% = nessun cambiamento, 0% = grigio, 200% = doppio
saturate() % o decimale 100% = nessun cambiamento, 0% = scala di grigi
grayscale() % o decimale 0% = nessun cambiamento, 100% = completamente disaturato
sepia() % o decimale 0% = nessun cambiamento, 100% = completamente seppia
hue-rotate() deg 0deg = nessun cambiamento. Ruota la ruota dei colori
invert() % o decimale 0% = nessun cambiamento, 100% = completamente invertito
opacity() % o decimale Stesso della proprietà opacity
drop-shadow() x y sfocatura colore Come box-shadow ma segue opacità/clip-path

L’ordine di concatenazione è importante

filter: brightness(0.5) saturate(2) applica prima la luminosità, poi la saturazione, i due filtri si combinano.

filter: saturate(2) brightness(0.5) applica prima la saturazione. Poiché l’immagine è più luminosa prima di essere scurita, la saturazione del colore è più pronunciata.

La differenza visiva è sottile ma reale. Prova entrambi gli ordini quando una catena di filtri non appare come ti aspettavi.

Ricette comuni

/* Aspetto foto sbiadita */
filter: contrast(0.9) saturate(0.85) brightness(1.05);

/* Vintage / sbiadito */
filter: sepia(0.3) contrast(1.1) brightness(0.95);

/* Approssimazione duotone */
filter: grayscale(1) sepia(1) hue-rotate(180deg) saturate(1.5);

/* Eroe scuro */
filter: brightness(0.6);

/* Stato disabilitato */
filter: grayscale(1) opacity(0.6);

/* Vetro / sovrapposizione smerigliata */
filter: blur(12px) saturate(1.3);

backdrop-filter per vetro smerigliato

filter si applica all’elemento stesso; backdrop-filter si applica a ciò che c’è dietro un elemento semi-trasparente, l’effetto vetro smerigliato popolarizzato da iOS.

.modal-backdrop {
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(20px) saturate(1.2);
}

Supporto: tutti i browser moderni; Firefox finalmente lo supporta senza flag in 103+.

Note sulle prestazioni

  • blur() è il filtro più costoso perché richiede di convolvere ogni pixel con un kernel. Una sfocatura di 30px su un’immagine hero 4K costa veri frame.
  • grayscale, sepia, brightness e simili sono trasformazioni di colore per pixel, economiche.
  • I filtri sono accelerati dalla GPU nei browser moderni, ma animare blur() è ancora scattoso su dispositivi di fascia bassa.
  • Preferisci will-change: filter prima di animare.

filter: drop-shadow() vs. box-shadow

  • box-shadow segue il border-box dell’elemento (rispetta border-radius).
  • filter: drop-shadow() segue i pixel non trasparenti dell’elemento, il che significa che traccia le forme di clip-path, la trasparenza PNG e i percorsi SVG.

Per le ombre su immagini ritagliate o trasparenti, usa drop-shadow. Per schede e scatole standard, box-shadow è più veloce.

Domande frequenti

Sì, il filtro viene applicato all’elemento e a tutti i suoi discendenti come un gruppo. Se filtri un genitore, i figli sono inclusi. Per filtrare solo lo sfondo del genitore, metti il contenuto in un contesto di impilamento separato o usa backdrop-filter.

Perché la sfocatura si applica all’intero elemento, incluso il testo renderizzato. Non c’è modo di sfocare uno sfondo mantenendo il testo nitido tramite filter semplice. Usa backdrop-filter su un sovrapposizione semi-trasparente, mantenendo il testo al di fuori dell’elemento filtrato.

Sì, tutte le funzioni di filtro possono essere animate. Fai attenzione alle prestazioni della sfocatura su mobile, animare il raggio di sfocatura è notevolmente costoso. grayscale, sepia e brightness si animano in modo economico.

Sì, il filter CSS si applica agli elementi SVG allo stesso modo di qualsiasi altro elemento DOM. SVG ha anche il proprio sistema di elementi <filter> più ricco, che è più potente ma molto più verboso.

Strumenti correlati