CSS-box-shadow-generator
Maak telkens één box-shadow-regel: stel de horizontale en verticale offset, vervaging, spreiding, kleur en optionele inset in en kopieer het resultaat. Echte schaduwen hebben meestal twee of drie lagen nodig, dus genereer elke laag afzonderlijk en verbind de regels met een komma.
Hoe ontwerp je een box-shadow
-
1
Stel de schaduwwaarden in
Horizontale offset, verticale offset, vervagingsradius, spreiding en kleur met opaciteit.
-
2
Schakel inset om
Zet de schaduw om naar inset voor een binnenschaduw; handig voor ingedrukte knoppen en holle effecten.
-
3
Kies de kleur
Zwart met een lage opaciteit is de klassieker. Gekleurde schaduwen (afgestemd op de tint van het element, maar donkerder) ogen natuurlijker.
-
4
Kopieer de CSS
Kopieer de enkele schaduwregel en plak die in je stylesheet. Voor gelaagde schaduwen genereer je elke laag afzonderlijk en combineer je de regels met een komma.
De box-shadow-syntaxis
box-shadow: <x-offset> <y-offset> <blur> <spread> <colour> [inset];
- x-offset: positief = rechts, negatief = links.
- y-offset: positief = omlaag, negatief = omhoog.
- blur: 0 = harde rand, hoger = zachter. De zichtbare omvang reikt ongeveer 1,5× de vervaging buiten het element.
- spread: extra omvang buiten het element. Positief vergroot de schaduw; negatief verkleint hem (handig voor subtiele halo’s).
- colour: ondersteunt elke CSS-kleur.
rgba(0, 0, 0, 0.15)is de standaardkeuze. - inset: trefwoord dat de schaduw naar de binnenkant van het element keert.
Gelaagde schaduwen ogen realistisch
Deze generator levert telkens één schaduwregel op; om een gelaagde schaduw te bouwen, genereer je elke laag afzonderlijk en combineer je de regels met een komma.
Eén schaduw met 0 0 40px ziet er wazig uit. Twee schaduwen, een kleine, scherpe dicht bij het element en een grotere, zachte verder weg, bootsen na hoe echt licht zich verstrooit.
box-shadow:
0 1px 2px rgba(0, 0, 0, 0.08),
0 4px 12px rgba(0, 0, 0, 0.08);
De eerste regel geeft de strakke contactschaduw; de tweede de zachtere omgevingsschaduw. Dit ene patroon dekt 80% van de UI in kaartstijl.
Elevatiesystemen
Material Design gebruikt 6 elevatieniveaus, elk met een andere schaduwstapel. Vereenvoudigd:
| Elevatie | Schaduw |
|---|---|
| 1 (in rust) | 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.24) |
| 2 | 0 3px 6px rgba(0,0,0,.16), 0 3px 6px rgba(0,0,0,.23) |
| 3 | 0 10px 20px rgba(0,0,0,.19), 0 6px 6px rgba(0,0,0,.23) |
| 4 (opgetild) | 0 14px 28px rgba(0,0,0,.25), 0 10px 10px rgba(0,0,0,.22) |
| 5 (zwevend) | 0 19px 38px rgba(0,0,0,.30), 0 15px 12px rgba(0,0,0,.22) |
Kies er één per elevatierol en gebruik die consequent.
Gekleurde schaduwen ogen natuurlijker
Zuiver zwarte schaduwen ogen kunstmatig, omdat echte schaduwen gekleurd worden door het oppervlak eronder. Probeer eens:
box-shadow: 0 12px 24px rgba(40, 80, 120, 0.18);
Een koel blauwgrijs in plaats van zuiver zwart. Gebruik op warme achtergronden een warmere tint.
Prestaties
Box-shadows worden bij elke herteken-bewerking opnieuw getekend. Grote, zware schaduwen op veel elementen kunnen het scrollen vertragen. Maatregelen:
- Gebruik
transform: translateZ(0)op het element om een samengestelde laag af te dwingen. - Vervang complexe schaduwen pas door
filter: drop-shadow()als je wilt dat de schaduw een clip-path volgt (dit is over het algemeen trager). - Beperk schaduwen op elementen die vaak opnieuw worden gerenderd.
Inset voor ingedrukte toestanden
.button:active {
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.12);
}
Inset-schaduwen bootsen een verzonken uiterlijk na; de knop lijkt in het oppervlak te zijn gedrukt. Combineer dit met een kleine, neerwaartse transform: translateY(1px) voor een tastbare klik.
Veelgestelde vragen
Meestal omdat de vervaging te laag of de spreiding te hoog is. Een schaduw met een harde rand en geen vervaging lijkt op een gedupliceerd element. Verhoog de vervaging (20–30px is een veelgebruikt startpunt) en houd de spreiding op 0 of op zeer kleine negatieve waarden.
Box-shadow volgt de border-box van het element, inclusief de border-radius, zo krijgen afgeronde kaarten automatisch mooi afgeronde schaduwen. Voor clip-path-vormen volgt box-shadow de clip niet; gebruik in plaats daarvan filter: drop-shadow().
Verschuif de schaduw flink in de gekozen richting en gebruik een negatieve spreiding om de tegenoverliggende kant te verbergen. Of gebruik twee schaduwen, één zichtbaar aan de doelkant en een tweede met negatieve spreiding om de ongewenste uitloop “op te eten”.
Er is geen harde limiet, maar elke schaduw is weer een extra tekenbewerking. Drie tot vier lagen is het praktische plafond; meer dan dat en je kunt beter een achtergrondafbeelding of SVG gebruiken.
Gerelateerde tools
ASCII-tabelreferentie
Volledige ASCII-tabel van 0 tot 127 met decimale, hexadecimale, octale en binaire waarden en HTML-numerieke referentienotatie, inclusief control codes zoals NUL, LF en DEL.
HTML-tekenreferentie
Een doorzoekbare lijst met HTML-entiteiten, hun benoemde en numerieke codes, plus kopiëren met één klik voor speciale tekens en symbolen.
Sneltoetsenoverzicht
Zoek gedocumenteerde standaardsneltoetsen voor VS Code, Chrome en Bash met GNU Readline op macOS, Windows en Linux.
HAR-bestandsviewer
Open HAR-netwerkopnamen lokaal, filter verzoeken, bekijk gemaskeerde headers en timing en exporteer opgeschoonde samenvattingen zonder upload.
ASCII naar binair-converter
Converteer elke ASCII-string naar zijn binaire representatie. Elk teken wordt acht bits, gescheiden door spaties, klaar voor protocoltrace of huiswerk.
Willekeurige lettergenerator
Genereer willekeurige A-Z-letters. Kies het aantal, gebruik hoofdletters, kleine letters of gemengd, en gebruik de uitkomst voor spelletjes, opdrachten of lesactiviteiten.