Spacing
A consistent spacing system creates rhythm and hierarchy in the interface. Our spacing scale uses rem units for better accessibility and scales proportionally with user font size preferences.
Spacing Scale
Our spacing scale follows a consistent progression that provides flexibility while maintaining visual harmony.
XS
--spacing-xs
4px (0.25rem)
SM
--spacing-sm
8px (0.5rem)
MD
--spacing-md
16px (1rem)
LG
--spacing-lg
24px (1.5rem)
XL
--spacing-xl
32px (2rem)
2XL
--spacing-2xl
40px (2.5rem)
3XL
--spacing-3xl
48px (3rem)
4XL
--spacing-4xl
64px (4rem)
5XL
--spacing-5xl
80px (5rem)
Usage Examples
Component Padding
padding: var(--spacing-xs)XS Padding (4px)
padding: var(--spacing-md)MD Padding (16px)
padding: var(--spacing-xl)XL Padding (32px)
Component Gaps
gap: var(--spacing-sm)Item 1
Item 2
Item 3
gap: var(--spacing-lg)Item 1
Item 2
Item 3
Usage Guidelines
When to use each size
- •XS (4px): Tight spacing within components, icon margins, badge gaps
- •SM (8px): Small component padding, compact lists, inline elements
- •MD (16px): Default component padding, standard gaps between related elements
- •LG (24px): Spacing between component groups, card padding
- •XL (32px): Section padding, spacing between major content blocks
- •2XL-5XL (40px-80px): Page margins, hero sections, major layout divisions
Best Practices
- •Use spacing scale values instead of arbitrary numbers
- •Maintain consistent spacing patterns throughout the interface
- •Use larger spacing to create visual hierarchy and grouping
- •Consider touch target sizes (minimum 44x44px) for interactive elements
- •Test spacing at different viewport sizes and zoom levels
Tailwind Utilities
When using Tailwind CSS, spacing values are available through standard utilities:
<!-- Padding -->
<div className="p-xs">4px padding</div>
<div className="p-md">16px padding</div>
<div className="px-lg py-md">24px horizontal, 16px vertical</div>
<!-- Margin -->
<div className="m-sm">8px margin</div>
<div className="mt-xl mb-lg">32px top, 24px bottom</div>
<!-- Gap (for flexbox/grid) -->
<div className="flex gap-md">16px gap</div>
<div className="grid gap-lg">24px gap</div>Accessibility
- •Ensure interactive elements have sufficient padding for touch targets (min 44x44px)
- •Use spacing to create clear visual groups for screen reader users
- •Spacing scales proportionally with user font size preferences (rem units)
- •Maintain consistent spacing patterns to help users build mental models