Skip to content

Margin ​

Utilities for controlling margin using custom spacing variables.

πŸ’‘ Tip

The margin classes are designed to provide fluid scaling for all spacing values, ensuring consistency and adaptability in the designs. These classes allow us to maintain harmonious spacing across the components and layouts.

To gain a deeper understanding of how these spacing values are calculated and the principles behind the fluid scaling system, we recommend referring to our dedicated documentation on the Foundation/Fluid Scaling page.

Class NameCSS Equivalent
.m-nonemargin: var(--cds-sys-spacing-none); /* β‰ˆ0px*/
.m-b-nonemargin-block: var(--cds-sys-spacing-none); /* β‰ˆ0px*/
.m-i-nonemargin-inline: var(--cds-sys-spacing-none); /* β‰ˆ0px*/
.m-bs-nonemargin-block-start: var(--cds-sys-spacing-none); /* β‰ˆ0px*/
.m-be-nonemargin-block-end: var(--cds-sys-spacing-none); /* β‰ˆ0px*/
.m-is-nonemargin-inline-start: var(--cds-sys-spacing-none); /* β‰ˆ0px*/
.m-ie-nonemargin-inline-end: var(--cds-sys-spacing-none); /* β‰ˆ0px*/
.m-3xsmargin: var(--cds-sys-spacing-3xs); /* β‰ˆ4px*/
.m-b-3xsmargin-block: var(--cds-sys-spacing-3xs); /* β‰ˆ4px*/
.m-i-3xsmargin-inline: var(--cds-sys-spacing-3xs); /* β‰ˆ4px*/
.m-bs-3xsmargin-block-start: var(--cds-sys-spacing-3xs); /* β‰ˆ4px*/
.m-be-3xsmargin-block-end: var(--cds-sys-spacing-3xs); /* β‰ˆ4px*/
.m-is-3xsmargin-inline-start: var(--cds-sys-spacing-3xs); /* β‰ˆ4px*/
.m-ie-3xsmargin-inline-end: var(--cds-sys-spacing-3xs); /* β‰ˆ4px*/
.m-2xsmargin: var(--cds-sys-spacing-2xs); /* β‰ˆ8px*/
.m-b-2xsmargin-block: var(--cds-sys-spacing-2xs); /* β‰ˆ8px*/
.m-i-2xsmargin-inline: var(--cds-sys-spacing-2xs); /* β‰ˆ8px*/
.m-bs-2xsmargin-block-start: var(--cds-sys-spacing-2xs); /* β‰ˆ8px*/
.m-be-2xsmargin-block-end: var(--cds-sys-spacing-2xs); /* β‰ˆ8px*/
.m-is-2xsmargin-inline-start: var(--cds-sys-spacing-2xs); /* β‰ˆ8px*/
.m-ie-2xsmargin-inline-end: var(--cds-sys-spacing-2xs); /* β‰ˆ8px*/
.m-xsmargin: var(--cds-sys-spacing-xs); /* β‰ˆ12px*/
.m-b-xsmargin-block: var(--cds-sys-spacing-xs); /* β‰ˆ12px*/
.m-i-xsmargin-inline: var(--cds-sys-spacing-xs); /* β‰ˆ12px*/
.m-bs-xsmargin-block-start: var(--cds-sys-spacing-xs); /* β‰ˆ12px*/
.m-be-xsmargin-block-end: var(--cds-sys-spacing-xs); /* β‰ˆ12px*/
.m-is-xsmargin-inline-start: var(--cds-sys-spacing-xs); /* β‰ˆ12px*/
.m-ie-xsmargin-inline-end: var(--cds-sys-spacing-xs); /* β‰ˆ12px*/
.m-smargin: var(--cds-sys-spacing-s); /* β‰ˆ16px*/
.m-b-smargin-block: var(--cds-sys-spacing-s); /* β‰ˆ16px*/
.m-i-smargin-inline: var(--cds-sys-spacing-s); /* β‰ˆ16px*/
.m-bs-smargin-block-start: var(--cds-sys-spacing-s); /* β‰ˆ16px*/
.m-be-smargin-block-end: var(--cds-sys-spacing-s); /* β‰ˆ16px*/
.m-is-smargin-inline-start: var(--cds-sys-spacing-s); /* β‰ˆ16px*/
.m-ie-smargin-inline-end: var(--cds-sys-spacing-s); /* β‰ˆ16px*/
.m-mmargin: var(--cds-sys-spacing-m); /* β‰ˆ24px*/
.m-b-mmargin-block: var(--cds-sys-spacing-m); /* β‰ˆ24px*/
.m-i-mmargin-inline: var(--cds-sys-spacing-m); /* β‰ˆ24px*/
.m-bs-mmargin-block-start: var(--cds-sys-spacing-m); /* β‰ˆ24px*/
.m-be-mmargin-block-end: var(--cds-sys-spacing-m); /* β‰ˆ24px*/
.m-is-mmargin-inline-start: var(--cds-sys-spacing-m); /* β‰ˆ24px*/
.m-ie-mmargin-inline-end: var(--cds-sys-spacing-m); /* β‰ˆ24px*/
.m-lmargin: var(--cds-sys-spacing-l); /* β‰ˆ32px*/
.m-b-lmargin-block: var(--cds-sys-spacing-l); /* β‰ˆ32px*/
.m-i-lmargin-inline: var(--cds-sys-spacing-l); /* β‰ˆ32px*/
.m-bs-lmargin-block-start: var(--cds-sys-spacing-l); /* β‰ˆ32px*/
.m-be-lmargin-block-end: var(--cds-sys-spacing-l); /* β‰ˆ32px*/
.m-is-lmargin-inline-start: var(--cds-sys-spacing-l); /* β‰ˆ32px*/
.m-ie-lmargin-inline-end: var(--cds-sys-spacing-l); /* β‰ˆ32px*/
.m-xlmargin: var(--cds-sys-spacing-xl); /* β‰ˆ48px*/
.m-b-xlmargin-block: var(--cds-sys-spacing-xl); /* β‰ˆ48px*/
.m-i-xlmargin-inline: var(--cds-sys-spacing-xl); /* β‰ˆ48px*/
.m-bs-xlmargin-block-start: var(--cds-sys-spacing-xl); /* β‰ˆ48px*/
.m-be-xlmargin-block-end: var(--cds-sys-spacing-xl); /* β‰ˆ48px*/
.m-is-xlmargin-inline-start: var(--cds-sys-spacing-xl); /* β‰ˆ48px*/
.m-ie-xlmargin-inline-end: var(--cds-sys-spacing-xl); /* β‰ˆ48px*/
.m-2xlmargin: var(--cds-sys-spacing-2xl); /* β‰ˆ64px*/
.m-b-2xlmargin-block: var(--cds-sys-spacing-2xl); /* β‰ˆ64px*/
.m-i-2xlmargin-inline: var(--cds-sys-spacing-2xl); /* β‰ˆ64px*/
.m-bs-2xlmargin-block-start: var(--cds-sys-spacing-2xl); /* β‰ˆ64px*/
.m-be-2xlmargin-block-end: var(--cds-sys-spacing-2xl); /* β‰ˆ64px*/
.m-is-2xlmargin-inline-start: var(--cds-sys-spacing-2xl); /* β‰ˆ64px*/
.m-ie-2xlmargin-inline-end: var(--cds-sys-spacing-2xl); /* β‰ˆ64px*/
.m-3xlmargin: var(--cds-sys-spacing-3xl); /* β‰ˆ96px*/
.m-b-3xlmargin-block: var(--cds-sys-spacing-3xl); /* β‰ˆ96px*/
.m-i-3xlmargin-inline: var(--cds-sys-spacing-3xl); /* β‰ˆ96px*/
.m-bs-3xlmargin-block-start: var(--cds-sys-spacing-3xl); /* β‰ˆ96px*/
.m-be-3xlmargin-block-end: var(--cds-sys-spacing-3xl); /* β‰ˆ96px*/
.m-is-3xlmargin-inline-start: var(--cds-sys-spacing-3xl); /* β‰ˆ96px*/
.m-ie-3xlmargin-inline-end: var(--cds-sys-spacing-3xl); /* β‰ˆ96px*/

Add margin to a single side ​

Control the margin on one side of an element using the p-{b|s}{s|e}-{size} utilities.

Abbriviation
bblock (default vertical axis)
iinline (default horizontal axis)
sstart (top for block, left for inline)
eend (bottom for block, right for inline)

As an illustration, consider using the class m-bs-m to apply a margin of 1.5rem from the top (block-start) at desktop size. This margin will align with the top side of an element, based on its text direction.

Similarly, the class m-ie-s will add a margin 1rem of margin from the right (inline-end) at desktop size, aligning it with either the right side of the element, depending on its text direction.

πŸ’‘ Tip

In our development practices, we aim to avoid the use of physical properties such as top, bottom, right, and left. Instead, we advocate for the use of logical properties: {block|inline}-{end|start}. To enhance your understanding of these logical properties, we recommend visiting the Foundation/Logical Properties page.

m-bs-m
m-ie-s
m-be-l
m-is-xs
html
<div class="[...]Β m-bs-m">m-bs-m</div>
<div class="[...]Β m-ie-s">m-ie-s</div>
<div class="[...]Β m-be-l">m-be-l</div>
<div class="[...]Β m-is-xs">m-is-xs</div>

Add horizontal margin ​

Control the horizontal margin of an element using the m-i-{size} utilities.

m-i-l
html
<div class="[...]Β m-i-l">m-i-l</div>

Add vertical margin ​

Control the vertical margin of an element using the m-b-{size} utilities.

m-b-l
html
<div class="[...]Β m-b-l">m-b-l</div>

Add margin to all sides ​

Control the margin on all sides of an element using the m-{size} utilities.

m-l
html
<div class="[...]Β m-l">m-l</div>

Using negative values ​

To use a negative margin value, prefix the class name with a dash to convert it to a negative value.

-m-be-l
-m-ie-3xl
html
<div class="[...] -m-be-l">-m-be-l</div>