Generatore CSS Box Shadow gratis
Costruttore visivo per CSS box-shadow con anteprima live, sovrapposizione multi-strato, selettore colori, toggle inset e copia con un clic. Include preset Material, neumorfismo e bagliore.
Trascina la casella per posizionare l'ombra del livello attivo - tieni premuto Maiusc per un controllo fine
box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.15);Preset
Usi comuni
- Ombre UI per le CarteCrea ombre eleganti delle carte per dashboard, griglie di prodotti e dashboard.
- Effetti di Pressione dei PulsantiCrea ombre dei pulsanti che simulano la profondità del mondo reale e gli stati di pressione.
- UI Soft NeumorphismCrea il look soft-UI neumorphism con ombre chiare e scure appaiate.
- Ombre Modali e PopoverCrea l'aspetto elevato e fluttuante per dialoghi e menu a discesa.
- Effetti di Alone e Focus RingCrea effetti di alone brillante, focus ring e highlight in stile neon.
Come funziona
Il generatore di box-shadow è uno strumento React completamente lato client — nessun server, nessuna libreria. Mantiene un elenco di oggetti livello ombra nello stato, assembla stringhe CSS box-shadow valide a ogni modifica usando un formattatore rgba() scritto a mano, e le applica direttamente a un elemento di anteprima tramite la prop style di React così il motore di rendering del browser stesso disegna il risultato istantaneamente.
- 1I parametri del livello alimentano il formattatoreOgni livello ombra memorizza offset x/y, sfocatura, diffusione, un colore hex, e un valore di opacità. A ogni modifica, una piccola funzione shadowToCss converte il colore hex in componenti RGB con una regex, poi assembla la stringa rgba() — ad esempio, 0px 4px 12px 0px rgba(0, 0, 0, 0.15). Livelli multipli sono uniti con virgole.
- 2Il browser rende l'anteprima dal vivoLa stringa assemblata viene assegnata alla proprietà stile boxShadow di un elemento div direttamente in JSX. React aggiorna l'attributo DOM, e il motore CSS del browser dipinge l'ombra immediatamente — non c'è canvas o WebGL coinvolto, solo rendering CSS nativo.
- 3Il trascinamento per posizionare usa la Pointer Events APICliccare e trascinare il riquadro di anteprima chiama setPointerCapture sull'elemento, poi traccia i delta onPointerMove per aggiornare gli offset x e y del livello attivo in tempo reale. Tenere premuto Shift applica un fattore di scala 0,25x per il posizionamento fine.
- 4L'output viene copiato negli appuntiLo strumento produce due formati di output dagli stessi dati del livello: una dichiarazione CSS box-shadow standard, e una classe Tailwind di valore arbitrario (shadow-[...]) dove gli spazi sono sostituiti con underscore secondo le regole di sintassi di Tailwind. La copia con un clic usa navigator.clipboard.writeText.
Strumenti correlati
Generatore CSS Border Radius
Progetta visivamente angoli arrotondati con controllo indipendente su ogni angolo. Supporta la sintassi ellittica X/Y per forme organiche.
Generatore CSS Grid
Progetta visivamente una griglia CSS — tracce, unità e spazi — e copia il CSS e HTML generati.
Generatore CSS Flexbox
Sperimenta con direzione flex, wrap, justify e align su elementi dal vivo — e copia il CSS.