Skip to content

Spacing

Astro uses a numeric, linear spacing scale with a

var(--)
base-spacing-unit token.

TRY: to use the spacing scale when applying things like margin, padding, or gap.
TRY NOT: to use the spacing scale for things like dimension (width/height).
  • Your UI will break if you use our dynamic scaling feature.
  • You don't gain anything.
  • Dimension is a separate concept.
  • Its okay to use one off values sometimes
TRY: to find the nearest step

If you have 34px, first try

var(--)
spacing-8, then try
var(--)
spacing-9
. If nothing available fits, reevaluate why you need 32px and consider using a one off. Caution with One Off Values

TRY NOT: to add your own steps
  • We give a generous amount of steps at smaller sizes
  • The step constraint is how the spacing system creates consistency. Too many steps will sacrifice consistency.
  • Use caution
  • var(--)
    spacing-0
    0px / 0rem
  • var(--)
    spacing-px
    1px / 0.0625rem
  • var(--)
    spacing-050
    2px / 0.125rem
  • var(--)
    spacing-1
    4px / 0.25rem
  • var(--)
    spacing-015
    6px / 0.375rem
  • var(--)
    spacing-2
    8px / 0.5rem
  • var(--)
    spacing-025
    10px / 0.625rem
  • var(--)
    spacing-3
    12px / 0.75rem
  • var(--)
    spacing-035
    14px / 0.875rem
  • var(--)
    spacing-4
    16px / 1rem
  • var(--)
    spacing-5
    20px / 1.25rem
  • var(--)
    spacing-6
    24px / 1.5rem
  • var(--)
    spacing-7
    28px / 1.75rem
  • var(--)
    spacing-8
    32px / 2rem
  • var(--)
    spacing-9
    36px / 2.25rem
  • var(--)
    spacing-10
    40px / 2.5rem
  • var(--)
    spacing-11
    44px / 2.75rem
  • var(--)
    spacing-12
    48px / 3rem
  • var(--)
    spacing-14
    56px / 3.5rem
  • var(--)
    spacing-16
    64px / 4rem
  • var(--)
    spacing-20
    80px / 5rem
  • var(--)
    spacing-24
    96px / 6rem
  • var(--)
    spacing-28
    112px / 7rem
  • var(--)
    spacing-32
    128px / 8rem
  • var(--)
    spacing-36
    144px / 9rem
  • var(--)
    spacing-40
    160px / 10rem
  • var(--)
    spacing-44
    176px / 11rem
  • var(--)
    spacing-48
    192px / 12rem
  • var(--)
    spacing-52
    208px / 13rem
  • var(--)
    spacing-56
    224px / 14rem
  • var(--)
    spacing-60
    240px / 15rem
  • var(--)
    spacing-64
    256px / 16rem
  • var(--)
    spacing-72
    288px / 18rem
  • var(--)
    spacing-80
    320px / 20rem
  • var(--)
    spacing-96
    384px / 24rem