Skip to content
ChromaBrew
Short lessons

Shadows that suggest elevation, not blur

A short lesson: how to design box shadows that read as depth with layered offsets, blur and low opacity — instead of a single muddy blur.

Layers beat a single blur

A realistic shadow is rarely one shadow. A soft ambient shadow plus a tighter, darker shadow close to the surface reads as depth; a single fat blur reads as dirt. Design systems usually ship two or three layers per elevation level.

The typical composition: a small offset shadow close in (low blur, moderate opacity) for contact, and a larger, softer shadow further out (high blur, low opacity) for ambient fill. Together they make a card feel a few pixels off the page instead of behind smudged glass.

Opacity is where most people overdo it. Real shadows are nearly transparent — 10–20% at most for a mid elevation in light mode, and lower or softer in dark mode, where the surface itself is already dark.

Tip

Shadows are easier to judge with a live preview over a real background, and they harden into tokens fast: define shadow-sm / shadow / shadow-lg from elevation levels once, and reference the token everywhere.

Related free tools

Want to apply this right now? Open the color palette generator and try it with your own brand color — free, no sign-up.