Ga naar hoofdinhoud
LibraTool logoLibraTool

Gratis CSS box-shadow-generator

Visuele bouwer voor CSS box-shadow met livevoorvertoning, meerdere lagen, kleurkiezer, inset-schakelaar en kopiëren met één klik. Inclusief presets voor Material, neumorfisme en gloei.

Werkt offline na het laden
Voorbeeldachtergrond

Sleep de doos om de schaduw van de actieve laag te positioneren - houd Shift ingedrukt voor fijne controle

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

Voorinstellingen

Veelvoorkomend gebruik

  • Card UI SchaduwenBouw elegante kaartschaduwen voor dashboards, productgrids en dashboards.
  • Knop Druk EffectenBouw knopschaduwen die echte wereld diepte en persstatussen nabootsen.
  • Neumorphism Soft UICreëer het soft-UI neumorphism look met gekoppelde lichte + donkere schaduwen.
  • Modal & Popover SchaduwenCreëer het verheven, zwevende gevoel voor dialogen en dropdown menu's.
  • Gloei- en Focus Ring-effectenCreëer gloeiende accenteffecten, focus rings en neon-achtige highlights.

Hoe het werkt

De box-shadow-generator is een volledig client-side React-tool — geen server, geen bibliotheek. Hij houdt een lijst met schaduwlagen bij in de state, stelt bij elke wijziging geldige CSS box-shadow-tekenreeksen samen met een zelfgeschreven rgba()-formatter en past die direct toe op een voorbeeldelement via de style-prop van React, zodat de eigen rendering-engine van de browser het resultaat meteen tekent.

  1. 1
    Laagparameters voeden de formatter
    Elke schaduwlaag bewaart x/y-verschuivingen, vervaging, spreiding, een hexkleur en een dekkingswaarde. Bij elke wijziging zet een kleine shadowToCss-functie de hexkleur met een regex om naar RGB-componenten en stelt de rgba()-tekenreeks samen — bijvoorbeeld 0px 4px 12px 0px rgba(0, 0, 0, 0.15). Meerdere lagen worden met komma's samengevoegd.
  2. 2
    De browser toont het live voorbeeld
    De samengestelde tekenreeks wordt direct in JSX aan de boxShadow-stijleigenschap van een div-element toegekend. React werkt het DOM-attribuut bij en de CSS-engine van de browser tekent de schaduw meteen — er komt geen canvas of WebGL aan te pas, alleen native CSS-rendering.
  3. 3
    Slepen om te positioneren gebruikt de Pointer Events API
    Klikken en slepen in het voorbeeldvak roept setPointerCapture aan op het element en volgt daarna de onPointerMove-verschuivingen om de x- en y-verschuiving van de actieve laag in realtime bij te werken. Met Shift ingedrukt geldt een schaalfactor van 0,25x voor fijnere positionering.
  4. 4
    De uitvoer wordt naar het klembord gekopieerd
    De tool maakt uit dezelfde laaggegevens twee uitvoerformaten: een standaard CSS box-shadow-declaratie en een Tailwind-klasse met willekeurige waarde (shadow-[...]) waarin spaties volgens de syntaxisregels van Tailwind door underscores worden vervangen. Kopiëren met één klik gebruikt navigator.clipboard.writeText.

Gerelateerde tools

Veelgestelde vragen