Spacing

Spacing brings rhythm and fluidity to the interface. Our spacing tokens are based on Google Material scale with 16px as unit. Spacing can be used via padding and margin in web components.

Utils are now deprecated!

Utils have been removed from the fluid-design-system library in v5.0.0.
If you want to keep using them, install the @engie-group/fluid-4-deprecated package and import them.

Grid spacing

These spacing elements are not supposed to be rigid rules, but can help to create a cohesive rhythm throughout the layout.

Grid unity spacing : 8px - 16px - 24px - 32px - 48px - 64px - 96px

$spacer = 1rem = 16px (according to body default font value)

How it works

Assign responsive-friendly margin or padding values to an element or a subset of its sides with shorthand classes. Includes support for individual properties, all properties, and vertical and horizontal properties. Classes are built from a default Sass map ranging from .25rem to 3rem.

Notation

Spacing that apply to all breakpoints, from xs to xl, have no breakpoint abbreviation in them. This is because those classes are applied from min-width: 0 and up, and thus are not bound by a media query. The remaining breakpoints, however, do include a breakpoint abbreviation.

The classes are named using the format {property}{sides}-{size} for xs and {property}{sides}-{breakpoint}-{size} for sm, md, lg, and xl.

Where property is one of:

  • m - for classes that set margin
  • p - for classes that set padding

Where sides is one of:

  • t - for classes that set margin-top or padding-top
  • b - for classes that set margin-bottom or padding-bottom
  • l - for classes that set margin-left or padding-left
  • r - for classes that set margin-right or padding-right
  • x - for classes that set both *-left and *-right
  • y - for classes that set both *-top and *-bottom
  • blank - for classes that set a margin or padding on all 4 sides of the element

Where size is one of:

  • 0 - for classes that eliminate the margin or padding by setting it to 0
  • 1 - (by default) for classes that set the margin or padding to $spacer * .5
  • 2 - (by default) for classes that set the margin or padding to $spacer
  • 3 - (by default) for classes that set the margin or padding to $spacer * 1.5
  • 4 - (by default) for classes that set the margin or padding to $spacer * 2
  • 5 - (by default) for classes that set the margin or padding to $spacer * 3
  • 6 - (by default) for classes that set the margin or padding to $spacer * 4
  • 7 - (by default) for classes that set the margin or padding to $spacer * 6
  • auto - for classes that set the margin to auto

Examples

Here are some representative examples of these classes:

.mt-0 {
margin-top: 0 !important;
}

.ml-1 {
margin-left: ($spacer * .25) !important;
}

.px-2 {
padding-left: ($spacer * .5) !important;
padding-right: ($spacer * .5) !important;
}

.p-3 {
padding: $spacer !important;
}