Generatore di filtri CSS

Regola le proprietà filter CSS con i cursori e visualizza il risultato in tempo reale. Copia il codice generato.

Controlli di filtro

Anteprima

Anteprima dei filtri

CSS generato


      
    

Come usare

  1. Regola i cursori di filtro: usa i cursori per controllare sfocatura, luminosità, contrasto, saturazione, rotazione tonalità, opacità, scala di grigi, seppia e inversione.
  2. Visualizza l'anteprima in tempo reale: l'immagine o l'elemento di esempio si aggiorna all'istante quando sposti un cursore.
  3. Copia il CSS: il valore completo della proprietà filter (per es. filter: brightness(1.2) contrast(1.5) saturate(0.8)) è pronto da incollare nel tuo foglio di stile.

Perché usare il generatore CSS di filtri?

I filtri CSS permettono di applicare effetti di elaborazione delle immagini, sfocatura, contrasto, luminosità, spostamenti di colori, direttamente nel browser senza Photoshop né software di editing di immagini. Funzionano sulle immagini, sui video e su qualsiasi elemento HTML. Costruire la catena della proprietà filter a mano richiede di conoscere i nomi esatti delle funzioni e gli intervalli di valori validi. Questo generatore propone cursori intuitivi con feedback visivo per ottenere esattamente il rendering desiderato.

Funzionalità

Domande frequenti

Si possono applicare i filtri CSS a video?

Sì. La proprietà filter CSS funziona su qualsiasi elemento, inclusi <video>, <img>, <div> e <canvas>. Applicato a un video, il filtro viene reso in tempo reale durante la riproduzione.

Qual è la differenza tra filter e backdrop-filter?

filter applica l'effetto all'elemento stesso e a tutti i suoi figli. backdrop-filter applica l'effetto al contenuto situato dietro (sotto) l'elemento, comunemente usato per effetti di vetro smerigliato.

I filtri CSS influiscono sulle prestazioni?

I filtri con sfocatura o compositing complesso possono essere impegnativi per la GPU. Per filtri animati, assicurati che l'elemento sia sul proprio layer di compositing (aggiungi transform: translateZ(0) come indicazione). I filtri statici su immagini e icone hanno un impatto minimo.

Cosa fa davvero il CSS filter

La proprietà CSS filter applica effetti grafici (sfocatura, regolazione del contrasto, spostamento del colore, ombra portata) a un elemento e ai suoi figli prima che il browser lo dipinga sullo schermo. L'elaborazione avviene interamente nel pipeline di rendering del browser, di solito accelerato dalla GPU, senza JavaScript coinvolto. Gli effetti sono solo visivi: l'HTML sottostante, il file a cui un'immagine fa riferimento e il layout sono tutti invariati. Una fotografia visualizzata con filter: grayscale(1) ha ancora i suoi colori originali nel file; il browser converte in scala di grigi solo nella visualizzazione.

Il CSS filter espone dieci funzioni: blur(px) per sfocatura gaussiana, brightness(n) e contrast(n) per regolazioni tonali, saturate(n) per intensità del colore, hue-rotate(deg) per spostare la ruota dei colori, opacity(n) per trasparenza, grayscale(n) e sepia(n) per effetti di desaturazione, invert(n) per output negativo, e drop-shadow(...) per ombre consapevoli della forma (a differenza di box-shadow, drop-shadow segue la forma effettivamente renderizzata inclusa la trasparenza, ideale per ombre su icone o immagini PNG con bordi ritagliati). Le funzioni si concatenano: filter: brightness(1.2) contrast(1.3) saturate(0.9) applica tutte e tre in sequenza.

Perché questo è importante per il design web moderno: un decennio fa, regolare luminosità, tonalità o saturazione dell'immagine per coerenza di design richiedeva preprocessare ogni immagine in Photoshop e riesportare. Il CSS filter porta le stesse regolazioni al runtime, applicate in modo non distruttivo. Puoi servire una singola immagine e presentarla in modi diversi in base a tema, stato hover o preferenza dell'utente. Puoi anche usare i filtri per l'accessibilità: una foto in scala di grigi invertita come placeholder, o un overlay di immagine scurita per la leggibilità del testo ad alto contrasto. Il compromesso è la prestazione per alcuni filtri (in particolare blur) e il fatto che i filtri influenzano anche i figli, il che può cascare in modo inaspettato.

Come funziona questo strumento sotto il cofano

Ogni slider nello strumento è legato a una singola funzione filter. Quando muovi uno slider, JavaScript legge il valore, costruisce la stringa della funzione filter con quel valore (ad esempio, brightness(1.4)) e concatena tutte le funzioni attive in una singola stringa CSS filter. Quella stringa viene applicata come stile inline sull'immagine di anteprima, producendo feedback visivo immediato mentre il browser ridipinge con il nuovo filtro. Nessun dato dell'immagine viene elaborato in JavaScript: la matematica a livello di pixel effettiva avviene dentro il motore di rendering del browser, di solito sulla GPU.

Il CSS generato mostrato nella casella del codice è la stessa stringa applicata all'anteprima. Clicca Copia CSS e lo strumento scrive quella stringa sulla tua clipboard usando la moderna API navigator.clipboard.writeText(). La stringa è pronta per essere incollata in qualsiasi attributo style di un elemento o qualsiasi dichiarazione di classe nel tuo foglio di stile. Lo strumento supporta anche il caricamento della tua immagine: scegli un file e diventa un URL blob: temporaneo nel browser, mai caricato da nessuna parte, e il filtro mostra l'anteprima sulla tua immagine reale così puoi calibrare l'aspetto esatto per il tuo contenuto.

Il comportamento di reset è per-filtro: ogni slider ha il suo pulsante di reset che riporta solo quel filtro al suo valore senza-effetto (1 per i moltiplicatori, 0deg per hue-rotate, 0px per blur). Il pulsante Reset All riporta ogni slider al neutro simultaneamente. Lo stato dello strumento vive solo in memoria; ricarica la pagina e la tua combinazione di filtri è sparita. Nessun server memorizza i tuoi valori filtro scelti, nessun analytics traccia quali combinazioni provi. Lo strumento è un playground CSS senza stato, supportato da pubblicità.

Breve storia dei filtri CSS

Flussi di lavoro reali

Trappole comuni e cosa significano

Privacy: tutto avviene nel tuo browser

Gli strumenti generatori di CSS arrivano in due varianti: semplici pagine HTML che eseguono JavaScript lato client (private, veloci) ed editor cloud che salvano i tuoi progetti (collaborativi ma con compromessi di privacy). Questo strumento è del primo tipo. I valori dei tuoi slider, il tuo CSS generato e anche qualsiasi immagine che carichi per l'anteprima rimangono interamente nella tua sessione browser. Ricarica la pagina e lo stato è sparito a meno che tu non abbia copiato il CSS prima o salvato uno screenshot.

La funzione carica la tua immagine merita una nota sulla privacy: quando scegli un file, il browser crea un URL blob: locale che punta alla memoria, e l'anteprima visualizza la tua immagine con il filtro applicato. Nessuna richiesta va a nessun server. Apri la scheda Network del browser durante il caricamento; vedrai zero traffico in uscita. L'immagine esiste solo nella memoria della scheda del tuo browser e viene cancellata quando chiudi la scheda. Per immagini riservate (design proprietari, scansioni mediche, screenshot protetti da NDA), questa è la proprietà di privacy che conta.

Quando un altro strumento è la scelta giusta

Altre domande frequenti

Posso animare i cambiamenti del CSS filter in modo fluido?

Sì, con avvertimenti. La proprietà filter è animabile in CSS, e le transizioni tra due catene di filtri con le stesse funzioni nello stesso ordine interpolano fluidamente (blur(0px) brightness(1) a blur(10px) brightness(1.5) funziona). Aggiungere o rimuovere funzioni a metà transizione scatta bruscamente. Per animazione multi-filtro fluida, elenca ogni funzione che vuoi transitare sia negli stati di inizio che di fine, usando valori neutri (brightness(1), saturate(1), blur(0px)) dove non vuoi un filtro specifico applicato.

Il CSS filter funziona sulle immagini di sfondo?

Sì. Il CSS filter si applica all'intero elemento incluso il suo sfondo, contenuto ed elementi figli. Se vuoi filtrare solo l'immagine di sfondo ma non il contenuto in primo piano, l'approccio tipico è usare un elemento figlio separato per lo sfondo (ad esempio, uno pseudo-elemento ::before posizionato) con il filtro applicato ad esso, poi posizionare il contenuto come fratello non filtrato sopra. Anche la proprietà backdrop-filter è utile quando vuoi filtrare ciò che è visibile dietro un elemento trasparente.

I filtri CSS sono indicizzati dai motori di ricerca?

I filtri CSS sono puramente visivi e non cambiano il contenuto HTML. I motori di ricerca indicizzano il contenuto sottostante (alt text delle immagini, testo circostante) come se il filtro non fosse applicato. Un'immagine in scala di grigi con filter: grayscale(1) è ancora indicizzata come l'immagine originale a colori in base al suo file e al suo alt text. Questo è generalmente quello che vuoi: nessun effetto collaterale del filtro sul SEO o sugli screen reader.

Perché drop-shadow sembra diverso da box-shadow?

Box-shadow disegna un'ombra attorno al box rettangolare di un elemento, ignorando qualsiasi trasparenza. Drop-shadow (filter) disegna un'ombra che segue la forma effettivamente renderizzata, incluse le regioni trasparenti. Per un'icona SVG con bordi ritagliati o un PNG con trasparenza, drop-shadow produce un'ombra consapevole della forma che corrisponde al contorno visibile. Box-shadow sullo stesso elemento mostrerebbe un'ombra rettangolare attorno al bounding box, che sembra sbagliata. Usa drop-shadow per ombre consapevoli della forma, box-shadow per elementi rettangolari.

Qual è la differenza tra opacity e filter: opacity()?

Nella maggior parte dei browser producono risultati visivamente identici. La differenza tecnica: opacity è una proprietà di alto livello, mentre filter: opacity() è parte della catena di filtri e si compone con altri filtri. Se hai filter: blur(5px) opacity(0.5), entrambi si applicano insieme come una singola operazione GPU. Usare opacity fuori dalla catena di filtri funziona allo stesso modo nella maggior parte dei casi. Mantieni opacity per la trasparenza autonoma; usa filter: opacity() solo quando concateni con altri filtri.

Posso resettare tutti i filtri rapidamente?

Sì. Imposta filter: none per rimuovere tutti i filtri in una dichiarazione. Questo è il modo più pulito di resettare, specialmente per stati hover dove vuoi rimuovere tutti gli effetti filtro all'hover-out. In alternativa, imposta ogni funzione filtro al suo valore neutro: filter: brightness(1) contrast(1) saturate(1) blur(0px) hue-rotate(0deg) grayscale(0) sepia(0) invert(0) opacity(1) è funzionalmente equivalente a filter: none ma più verboso.

Strumenti correlati

Generatore gradiente CSS Convertitore di colori Filtri ed effetti immagine Generatore di modelli CSS