Elevation
Elevation tokens create depth through layered shadows, helping establish visual hierarchy and the illusion of physical space.
Overview
Our elevation system uses layered box shadows to create realistic depth effects. Each level uses multiple shadow layers with carefully tuned opacity, blur, and offset values to mimic natural lighting.
Elevation Scale
Four elevation levels from subtle to prominent, each designed for specific use cases.
--elevation-100 Subtle lift for interactive elements
Uses: Buttons on hover, input focus
--elevation-200 Low elevation for cards and containers
Uses: Cards, dropdowns, popovers
--elevation-300 Medium elevation for prominent elements
Uses: Floating action buttons, raised cards
--elevation-400 High elevation for overlays
Uses: Modals, dialogs, navigation drawers
Shadow Composition
Each elevation level uses two layered shadows for a more natural appearance:
--elevation-100 0 1px 2px rgba(0,0,0,0.04), 0 1px 3px rgba(0,0,0,0.04) --elevation-200 0 2px 4px rgba(0,0,0,0.08), 0 4px 8px rgba(0,0,0,0.04) --elevation-300 0 4px 8px rgba(0,0,0,0.16), 0 8px 16px rgba(0,0,0,0.04) --elevation-400 0 8px 16px rgba(0,0,0,0.24), 0 16px 32px rgba(0,0,0,0.04) Usage
Apply elevation tokens using the box-shadow CSS property.
Basic Usage
.card {
box-shadow: var(--elevation-200);
}
.modal {
box-shadow: var(--elevation-400);
} Interactive Elevation
Increase elevation on interaction to give feedback and create a sense of lift.
.card {
box-shadow: var(--elevation-100);
transition: box-shadow var(--motion-duration-fast) var(--motion-easing-ease-out),
transform var(--motion-duration-fast) var(--motion-easing-ease-out);
}
.card:hover {
box-shadow: var(--elevation-300);
transform: translateY(-2px);
} Combining with Border
For subtle elevation, combine a light shadow with a border for definition.
.subtle-card {
border: 1px solid var(--border-default);
box-shadow: var(--elevation-100);
} Guidelines
Elevation Hierarchy
Best Practices
- Use elevation sparingly — too many elevated elements create visual noise
- Higher elevation should indicate higher importance or focus
- Increase elevation on hover for interactive elements to suggest clickability
- Modals and overlays should always use the highest elevation level
- Combine elevation transitions with subtle transform for more engaging interactions
Common Patterns
Card on Page
elevation-200 Dropdown Menu
elevation-200 Modal Dialog
elevation-400