Lumaktaw sa pangunahing nilalaman

Libreng Gumagawa ng CSS Box Shadow

Visual builder para sa CSS box-shadow na may live preview, multi-layer stacking, color picker, inset toggle, at one-click na kopya. Kasama ang Material, neumorphism, at glow preset.

Gumagana offline kapag na-load na
Background ng preview

I-drag ang kahon upang iposisyon ang anino ng active layer - hawakan ang Shift para sa fine control

box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.15);

Mga preset

Mga karaniwang gamit

  • Card UI ShadowBumuo ng elegant card shadow para sa dashboard, product grid, at dashboard.
  • Button Press EffectBumuo ng button shadow na nag-mimic ng real-world depth at press state.
  • Neumorphism Soft UILumikha ng soft-UI neumorphism look na may paired light + dark shadow.
  • Modal & Popover ShadowLumikha ng elevated, floating feel para sa dialog at dropdown.
  • Mga Epekto ng Glow at Focus RingLumikha ng mga namikislap na accent effects, focus rings, at neon-style highlights.

Paano ito Gumagana

Ang box-shadow generator ay ganap na client-side na React tool β€” walang server, walang library. Nagtatago ito ng listahan ng mga shadow layer object sa state, bumubuo ng wastong CSS box-shadow string sa bawat pagbabago gamit ang hand-written na rgba() formatter, at direktang ina-apply ang mga ito sa isang preview element sa pamamagitan ng style prop ng React para agad iguhit ng sariling rendering engine ng browser ang resulta.

  1. 1
    Ipinapasa ang mga parameter ng layer sa formatter
    Nagtatago ang bawat shadow layer ng x/y offset, blur, spread, hex na kulay, at opacity value. Sa bawat pagbabago, kino-convert ng maliit na shadowToCss function ang hex na kulay sa mga RGB component gamit ang regex, pagkatapos ay binubuo ang rgba() string β€” halimbawa, 0px 4px 12px 0px rgba(0, 0, 0, 0.15). Pinagdudugtong ng kuwit ang maraming layer.
  2. 2
    Nire-render ng browser ang live preview
    Itinatalaga ang nabuong string sa boxShadow style property ng isang div element direkta sa JSX. Ina-update ng React ang DOM attribute, at agad ipinipinta ng CSS engine ng browser ang anino β€” walang canvas o WebGL, native na CSS rendering lang.
  3. 3
    Ginagamit ng drag-to-position ang Pointer Events API
    Kapag na-click at na-drag ang preview box, tinatawag ang setPointerCapture sa element, pagkatapos ay sinusundan ang mga delta ng onPointerMove para i-update nang real time ang x at y offset ng aktibong layer. Kapag pinindot ang Shift, ina-apply ang 0.25x na scale factor para sa pinong pagpoposisyon.
  4. 4
    Kinokopya sa clipboard ang output
    Gumagawa ang tool ng dalawang output format mula sa parehong layer data: isang karaniwang CSS box-shadow declaration, at isang Tailwind arbitrary-value class (shadow-[...]) kung saan pinapalitan ng underscore ang mga space ayon sa syntax ng Tailwind. Gumagamit ang one-click copy ng navigator.clipboard.writeText.

Mga Kaugnay na Tool

Mga Madalas na Itanong