Spacing

Spacing

The Material Design 3 spacing system provides a scale of measurement tokens used for margin, padding, and gap utilities. The scale ranges from 0 to 900, with each step mapped to a specific pixel value.

TokenValue
00px
252px
504px
756px
1008px
12510px
15012px
17514px
20016px
25020px
30024px
40032px
45036px
50040px
60048px
70056px
80064px
90072px
Space0
Space25
Space50
Space75
Space100
Space125
Space150
Space175
Space200
Space250
Space300
Space400
Space500
Space600
Space700
Space800
Space900

Import

For CSS

@import "@sandlada/material-design-css/spacing/utilities.css";
@import "@sandlada/material-design-css/spacing/variables.css";

For TailwindCSS v4

@import "tailwindcss";
@import "@sandlada/material-design-css/spacing/tw.css";

Usage

padding-100, margin-100 and gap-100 import from utilities.css and variables.css.

If you import tw.css into tailwindcss, please continue to use the p, m, and gap attributes that come with tailwindcss. In tw.css, change --spacing from 6px to 8px.

Padding 0

Padding 50

Padding 100

Padding 200

Padding 300

Padding 400

Padding 500

Padding 600

Padding 900

<div class="h-fit w-fit padding-0 bg-primary">
    <span class="border inline-flex bg-primary-container text-on-primary-container h-fit w-fit">
        Padding 0
    </span>
</div>

Logical directions

Spacing utilities support logical direction properties:

PrefixDescription
padding-inline-*Horizontal padding (left + right in LTR)
padding-inline-start-*Start-side padding
padding-inline-end-*End-side padding
padding-block-*Vertical padding (top + bottom)
padding-block-start-*Top padding
padding-block-end-*Bottom padding
margin-inline-*Horizontal margin
margin-inline-start-*Start-side margin
margin-inline-end-*End-side margin
margin-block-*Vertical margin
margin-block-start-*Top margin
margin-block-end-*Bottom margin
col-gap-*Column gap
row-gap-*Row gap

Example:

<div class="padding-inline-200 padding-block-100">
    Content with horizontal 16px and vertical 8px padding
</div>

<div class="margin-inline-start-300 margin-block-end-200">
    Content with 24px start margin and 16px bottom margin
</div>

All available spacing scales

The following scales are available for all utility prefixes (padding-, padding-inline-, padding-inline-start-, padding-inline-end-, padding-block-, padding-block-start-, padding-block-end-, margin-, margin-inline-, margin-inline-start-, margin-inline-end-, margin-block-, margin-block-start-, margin-block-end-, gap-, col-gap-, row-gap-):

ScaleValue
00px
252px
504px
756px
1008px
12510px
15012px
17514px
20016px
25020px
30024px
40032px
45036px
50040px
60048px
70056px
80064px
90072px

CSS variables

Use CSS Variables, import variables.css.

You can also use the underlying CSS variables directly in your styles:

.my-element {
    padding: var(--md-sys-measurement-space200);
    margin: var(--md-sys-measurement-space100);
    gap: var(--md-sys-measurement-space300);
}

Available variables:

  • --md-sys-measurement-space0 through --md-sys-measurement-space900