Generatore di box-shadow
Crea ombre CSS box-shadow a più livelli con anteprima dal vivo. Regola spostamento, sfocatura, espansione, colore, opacità e inset, poi copia il codice.
Modelli
Livelli d'ombra
Il primo livello viene disegnato sopra gli altri. Seleziona un livello per modificarlo.
Come usare il generatore di box-shadow
- Parti da un modello o tieni l’ombra predefinita Morbida. La riga Modelli offre Morbida, Netta, A strati, Elevazione, Neumorphism, Interna e Bagliore.
- In Livelli d’ombra, clicca su un livello per selezionarlo. Puoi spostare ogni livello con Sposta su e Sposta giù, o eliminarlo con Rimuovi. Aggiungi livello duplica il livello selezionato, così puoi ritoccarne una copia.
- Modifica il livello selezionato in Modifica il livello selezionato: trascina il punto nel riquadro Spostamento oppure usa i cursori e i campi numerici di Spostamento orizzontale (px), Spostamento verticale (px), Sfocatura (px) ed Espansione (px).
- Scegli un Colore dell’ombra con il selettore o scrivi un qualsiasi colore CSS nel campo del codice, poi imposta l’Opacità (%). Spunta Inset (ombra interna) per disegnare l’ombra all’interno del riquadro.
- Regola le Impostazioni anteprima (Colore del riquadro, Colore di sfondo, Raggio degli angoli (px)) per vedere l’ombra con i tuoi colori reali. Influiscono solo sull’anteprima.
- Copia la dichiarazione da Codice CSS con Copia.
Da tastiera: seleziona il punto nel riquadro Spostamento e usa i tasti freccia per muoverlo di 1 px, o di 10 px con Maiusc.
Come funziona box-shadow
La sintassi di un’ombra è box-shadow: [inset] x y blur spread color.
- x e y spostano l’ombra a destra e in basso. I valori negativi la spostano a sinistra e in alto. Una fonte di luce sopra l’elemento corrisponde a una y positiva.
- La sfocatura (blur) ammorbidisce il bordo e non può essere negativa. Con una sfocatura di 0 ottieni una copia del riquadro dai bordi netti.
- L’espansione (spread) ingrandisce (valore positivo) o riduce (negativo) l’ombra prima della sfocatura. Un’espansione negativa con una y grande tiene l’ombra sotto l’elemento invece che tutto intorno.
- Il colore di solito include una trasparenza. Lo strumento scrive i colori opachi in HEX e quelli traslucidi in
rgba(), che ogni browser comprende. Se inserisci un colore che ha già un canale alfa, l’Opacità (%) lo moltiplica. - inset porta l’ombra dentro il bordo, come se il riquadro fosse premuto nella pagina.
L’ombra segue il border-radius dell’elemento e non modifica mai il layout: non occupa spazio e non fa comparire barre di scorrimento.
Perché sovrapporre più ombre?
Le ombre reali non sono un unico rettangolo sfocato. Un’ombra piccola, scura e compatta sta proprio sotto l’oggetto, mentre una grande, tenue e sfocata si allarga più lontano. Sovrapporre da due a cinque livelli imita questo effetto ed è molto più naturale di una sola ombra pesante. Il modello A strati raddoppia spostamento e sfocatura a ogni passo con un’opacità bassa, una tecnica resa popolare da molti design system. Elevazione riproduce le ombre a tre livelli del Material Design.
Il primo livello dell’elenco viene disegnato sopra gli altri, esattamente come nel valore CSS. L’ordine conta soprattutto quando mescoli ombre interne ed esterne o usi colori intensi.
Neumorphism
Il neumorphism (“soft UI”) usa due ombre su un elemento dello stesso colore dello sfondo: una scura spostata in basso a destra e una chiara spostata in alto a sinistra. Il modello Neumorphism imposta entrambi i colori a #e0e5ec. Tieni presente che questo stile ha un contrasto basso: i pulsanti realizzati così hanno bisogno di uno stato di focus ben visibile e di etichette leggibili.
Domande frequenti
box-shadow rallenta la pagina?
Le ombre statiche costano poco. Animare ombre grandi e molto sfocate può essere lento sui dispositivi meno potenti; animare l’opacity di uno pseudo-elemento che porta l’ombra è più fluido.
Perché la mia ombra è tagliata?
Un genitore con overflow: hidden ritaglia l’ombra. Aggiungi del padding al genitore oppure rimuovi la regola overflow.
Che differenza c'è tra box-shadow e filter: drop-shadow()?
box-shadow segue il riquadro e il raggio dell’elemento. drop-shadow() segue la forma visibile, comprese le parti trasparenti delle immagini PNG e degli SVG, ma non ha né espansione né inset.
Posso usare più ombre interne?
Sì. Qualsiasi livello può essere inset, e livelli interni ed esterni possono convivere nella stessa dichiarazione.
Serve il prefisso -webkit-?
No. La proprietà box-shadow senza prefisso funziona in tutti i browser da più di dieci anni.
Strumenti correlati
- Generatore di border-radius Genera il border-radius CSS in modo visivo con maniglie trascinabili. Imposta ogni angolo in px o %, usa la sintassi ellittica e crea forme blob.
- Generatore di gradienti CSS Crea gradienti CSS lineari, radiali e conici con anteprima dal vivo. Aggiungi e trascina i punti di colore, imposta l'angolo e copia il codice CSS.
- Selettore di colori Color picker online gratuito. Scegli un colore e copia subito i codici HEX, RGB, HSL, HSV e CMYK, con i rapporti di contrasto su bianco e nero.