Spacing & Sizing
Master the 4-point spacing scale and sizing utilities to create perfectly proportioned layouts with predictable UI rhythm.
What the Tailwind Spacing Scale is
The Tailwind Spacing Scale is a proportional system built on a 4-point linear grid where 1 spacing unit equals 0.25rem (4px in standard browser configurations).
Instead of choosing random pixel values like 11px padding or 23px margins, Tailwind provides intuitive scale steps: p-1 (4px), p-2 (8px), p-4 (16px), p-6 (24px), p-8 (32px), and p-12 (48px).
This scale applies across all spacing and sizing utilities including padding (p-), margin (m-), width (w-), height (h-), gap (gap-), and space-between (space-).
Why a strict scale creates visual harmony
When developers pick arbitrary pixel values for every component, UIs become visually chaotic. One card has 15px padding, another has 18px padding, and buttons have 7px top margin.
Using a shared 4-point scale establishes visual rhythm across your entire application. Every component aligns naturally because element gaps, card paddings, and button heights share common mathematical denominators.
Furthermore, because Tailwind spacing units use relative rem units under the hood, your layouts scale gracefully if users change their browser font size settings for accessibility.
How to use spacing, sizing, and size-* utilities
Tailwind provides comprehensive directional control for padding and margin:
1. **Padding & Margin Directional Keys**: p-4 (all sides), px-4 (horizontal left and right), py-2 (vertical top and bottom), pt-4 (top), pb-6 (bottom), ms-4 (margin-inline-start).
2. **Width & Height Utilities**: Set explicit sizes with w-64 (16rem / 256px), relative proportions with w-1/2 (50%), or viewport bounds with w-full and h-dvh (dynamic viewport height).
3. **The Modern size-* Utility**: When building avatars, icons, badges, or square buttons where width and height are identical, use size-8 instead of writing w-8 h-8. size-8 sets both dimensions to 2rem (32px) in a single concise utility class.
Inspect Spacing Steps and Size Utilities
Observe how spacing units map directly to rem and pixel values, and see how size-12 effortlessly styles square avatar containers.
Spacing Scale Visualizer
size-10 Avatar (40px x 40px)
Replaces w-10 h-10 in a single class.
Tailwind 4-point spacing scale maps units directly to 0.25rem multiples, while size-* sets width and height at once.
Check yourself
Pick an answer to lock it in, then read why. Getting one wrong is part of how it sticks.
Remember this
- 1 spacing scale unit = 0.25rem = 4px (e.g. p-4 = 16px, p-8 = 32px).
- Use directional keys (px-*, py-*, mt-*, ms-*) for granular layout control.
- Use
size-*to set width and height simultaneously for square elements. - Prefer
gap-*on flex/grid parent containers over individual child margins.
Done with this concept?
Mark it complete to track your progress. No login needed.