Spacing Scale
All spacing utilities follow a consistent 4px scale for predictable layouts.Spacing Scale
| 0 | 0px | No spacing |
| 1 | 4px | Fine adjustments |
| 2 | 8px | Small spacing |
| 3 | 12px | Medium spacing |
| 4 | 16px | Standard spacing |
| 6 | 24px | Large spacing |
| 8 | 32px | Extra large spacing |
| 12 | 48px | Section spacing |
Margin
Control element spacing with margin utilities.All Sides Margin
All Sides Margin
.m-0 | 0 | margin: 0; | No margin |
.m-1 | 4px | margin: 4px; | Small margin |
.m-2 | 8px | margin: 8px; | Small margin |
.m-3 | 12px | margin: 12px; | Medium margin |
.m-4 | 16px | margin: 16px; | Standard margin |
.m-6 | 24px | margin: 24px; | Large margin |
.m-8 | 32px | margin: 32px; | Extra large margin |
.m-12 | 48px | margin: 48px; | Section margin |
.m-auto | Auto | margin: auto; | Center element |
Vertical Margin
Top Margin
.mt-0 | 0 | margin-top: 0; | No top margin |
.mt-1 | 4px | margin-top: 4px; | Small top margin |
.mt-2 | 8px | margin-top: 8px; | Small top margin |
.mt-3 | 12px | margin-top: 12px; | Medium top margin |
.mt-4 | 16px | margin-top: 16px; | Standard top margin |
.mt-6 | 24px | margin-top: 24px; | Large top margin |
.mt-8 | 32px | margin-top: 32px; | Extra large top margin |
.mt-12 | 48px | margin-top: 48px; | Section top margin |
Bottom Margin
.mb-0 | 0 | margin-bottom: 0; | No bottom margin |
.mb-1 | 4px | margin-bottom: 4px; | Small bottom margin |
.mb-2 | 8px | margin-bottom: 8px; | Small bottom margin |
.mb-3 | 12px | margin-bottom: 12px; | Medium bottom margin |
.mb-4 | 16px | margin-bottom: 16px; | Standard bottom margin |
.mb-6 | 24px | margin-bottom: 24px; | Large bottom margin |
.mb-8 | 32px | margin-bottom: 32px; | Extra large bottom margin |
.mb-12 | 48px | margin-bottom: 48px; | Section bottom margin |
Horizontal Margin
Horizontal Margin
.ml-auto | Left auto | margin-left: auto; | Push element right |
.mr-auto | Right auto | margin-right: auto; | Push element left |
Examples
Padding
Control internal spacing with padding utilities.All Sides Padding
All Sides Padding
.p-0 | 0 | padding: 0; | No padding |
.p-1 | 4px | padding: 4px; | Small padding |
.p-2 | 8px | padding: 8px; | Small padding |
.p-3 | 12px | padding: 12px; | Medium padding |
.p-4 | 16px | padding: 16px; | Standard padding |
.p-6 | 24px | padding: 24px; | Large padding |
.p-8 | 32px | padding: 32px; | Extra large padding |
.p-12 | 48px | padding: 48px; | Section padding |
Vertical Padding
Top Padding
.pt-0 | 0 | padding-top: 0; | No top padding |
.pt-1 | 4px | padding-top: 4px; | Small top padding |
.pt-2 | 8px | padding-top: 8px; | Small top padding |
.pt-3 | 12px | padding-top: 12px; | Medium top padding |
.pt-4 | 16px | padding-top: 16px; | Standard top padding |
.pt-6 | 24px | padding-top: 24px; | Large top padding |
.pt-8 | 32px | padding-top: 32px; | Extra large top padding |
Bottom Padding
.pb-0 | 0 | padding-bottom: 0; | No bottom padding |
.pb-1 | 4px | padding-bottom: 4px; | Small bottom padding |
.pb-2 | 8px | padding-bottom: 8px; | Small bottom padding |
.pb-3 | 12px | padding-bottom: 12px; | Medium bottom padding |
.pb-4 | 16px | padding-bottom: 16px; | Standard bottom padding |
.pb-6 | 24px | padding-bottom: 24px; | Large bottom padding |
.pb-8 | 32px | padding-bottom: 32px; | Extra large bottom padding |
Horizontal Padding
Horizontal Padding
.px-2 | Horizontal | 8px | padding-left: 8px; padding-right: 8px; | Small horizontal padding |
.px-3 | Horizontal | 12px | padding-left: 12px; padding-right: 12px; | Medium horizontal padding |
.px-4 | Horizontal | 16px | padding-left: 16px; padding-right: 16px; | Standard horizontal padding |
.px-6 | Horizontal | 24px | padding-left: 24px; padding-right: 24px; | Large horizontal padding |
.px-8 | Horizontal | 32px | padding-left: 32px; padding-right: 32px; | Extra large horizontal padding |
Vertical Padding
Vertical Padding
.py-2 | Vertical | 8px | padding-top: 8px; padding-bottom: 8px; | Small vertical padding |
.py-3 | Vertical | 12px | padding-top: 12px; padding-bottom: 12px; | Medium vertical padding |
.py-4 | Vertical | 16px | padding-top: 16px; padding-bottom: 16px; | Standard vertical padding |
.py-6 | Vertical | 24px | padding-top: 24px; padding-bottom: 24px; | Large vertical padding |
.py-8 | Vertical | 32px | padding-top: 32px; padding-bottom: 32px; | Extra large vertical padding |
Examples
Gap
Control spacing between flex items with gap utilities.Gap Properties
.gap-1 | 4px | gap: 4px; | Small gap |
.gap-2 | 8px | gap: 8px; | Small gap |
.gap-3 | 12px | gap: 12px; | Medium gap |
.gap-4 | 16px | gap: 16px; | Standard gap |
.gap-6 | 24px | gap: 24px; | Large gap |
.gap-8 | 32px | gap: 32px; | Extra large gap |
Examples
Common Spacing Patterns
Card Layout
Card with Consistent Spacing
Form Layout
Form with Proper Spacing
Section Layout
Section with Vertical Rhythm
Navigation Layout
Navigation with Proper Spacing
Spacing Best Practices
Consistent Scale
1
Use the 4px Scale
Always use the predefined spacing scale (1, 2, 3, 4, 6, 8, 12) for
consistency.
2
Maintain Vertical Rhythm
Use consistent spacing between related elements for better visual flow.
3
Group Related Elements
Use smaller gaps within groups and larger gaps between groups.
4
Consider Content Density
Adjust spacing based on content density and user experience needs.
Responsive Spacing
Spacing Hierarchy
Spacing Hierarchy
- Micro spacing (1-2): Fine adjustments, icon spacing 2. Small spacing (3-4): Element internal spacing, form fields 3. Medium spacing (6): Section internal spacing, card padding 4. Large spacing (8-12): Section spacing, major layout divisions
Common Mistakes
Avoid these spacing mistakes:
- Don’t mix different spacing scales inconsistently
- Don’t use margin for spacing between flex items (use gap instead)
- Don’t forget to consider mobile spacing needs
- Don’t overuse auto margins for centering (use flexbox utilities instead)

