Spacing

Spacing refers to the totality of margin and padding used to separate elements within a layout. Ferguson.com uses a specific scale and vocabulary in order to accurately articulate spacing concepts across projects and teams.

Scale

Ferguson uses a base-16 geometric progression scale which provides us a limited number of sizing options to choose from. These sizes will not cover all cases, but such moments are uncommon and rarely justify breaking the simple system.

Vocabulary

Ferguson has adopted a vocabulary of 5 key concepts in relation to Space. These are Inset, Inset-squish, Inset-stretch, Stack, and Inline.

InsetInset-squishInset-stretchStackInline

Inset spacing is used when all 4 padding sides of an element use equal spacing. 

  • XS: 4px
  • S: 8px
  • M: 12px
  • L: 16px
  • XL: 32px

Inset-squish spacing is used when the top and bottom padding is less than the left and right padding.

  • XS:
    • Top/Bottom: 4px
    • Left/Right: 8px
  • S:
    • Top/Bottom: 8px
    • Left/Right: 16px
  • M:
    • Top/Bottom: 12px
    • Left/Right: 24px
  • L:
    • Top/Bottom: 16px
    • Left/Right: 32px

Inset-stretch spacing is used when the top and bottom padding is greater than the left and right padding.

  • S:
    • Top/Bottom: 12px
    • Left/Right: 8px
  • M:
    • Top/Bottom: 16px
    • Left/Right: 12px
  • L:
    • Top/Bottom: 24px
    • Left/Right: 16px

Stack spacing refers to the vertical spacing between elements, usually applied as margin-bottom.

  • XXS: 2px
  • XS: 4px
  • S: 8px
  • M: 16px
  • L: 32px
  • XL: 64px
  • XXL: 128px

Inline spacing refers to the horizontal spacing between elements.

  • XXS: 2px
  • XS: 4px
  • S: 8px
  • M: 16px
  • L: 32px
  • XL: 64px
  • XXL: 128px