Utilia

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.

    Modifica il livello selezionato
    Spostamento

    Trascina il punto, oppure selezionalo e usa i tasti freccia (Maiusc per 10 px).

    Impostazioni anteprima

    Come usare il generatore di box-shadow

    1. Parti da un modello o tieni l’ombra predefinita Morbida. La riga Modelli offre Morbida, Netta, A strati, Elevazione, Neumorphism, Interna e Bagliore.
    2. 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.
    3. 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).
    4. 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.
    5. 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.
    6. 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.