Spacing
Responsive margin, padding, and gap utilities to control spacing.
Margin
Classes use the format .m{side}-{size}, where side is t (top), b (bottom), s (start), e (end), x (horizontal), y (vertical), or blank (all sides). Sizes range from 0 to 5, plus d (default) and auto.
live preview
editable html
<div class="vstack gap-d">
<div class="border">
<div class="m-d text-bg-primary">m-d (default margin on all sides)</div>
</div>
<div class="border">
<div class="m-1 text-bg-primary">m-1 (margin 1 on all sides)</div>
</div>
<div class="border">
<div class="m-2 text-bg-primary">m-2 (margin 2 on all sides)</div>
</div>
<div class="border">
<div class="m-3 text-bg-primary">m-3 (margin 3 on all sides)</div>
</div>
<div class="border">
<div class="m-4 text-bg-primary">m-4 (margin 4 on all sides)</div>
</div>
<div class="border">
<div class="m-5 text-bg-primary">m-5 (margin 5 on all sides)</div>
</div>
</div>Directional Margin
live preview
editable html
<div class="vstack gap-d">
<div class="border">
<div class="mt-5 text-bg-primary">mt-5 (margin top)</div>
</div>
<div class="border">
<div class="ms-5 text-bg-primary">ms-5 (margin start)</div>
</div>
<div class="border">
<div class="me-5 text-bg-primary">me-5 (margin end)</div>
</div>
<div class="border">
<div class="mx-3 text-bg-primary">mx-3 (horizontal margin)</div>
</div>
<div class="border">
<div class="my-2 text-bg-primary">my-2 (vertical margin)</div>
</div>
<div class="border">
<div class="mb-5 text-bg-primary">mb-5 (margin bottom)</div>
</div>
</div>Padding
Classes use the format .p{side}-{size}. Sizes range from 0 to 5, plus d (default).
live preview
editable html
<div class="vstack gap-d">
<div class="p-0 text-bg-primary">p-0</div>
<div class="p-d text-bg-primary">p-d (default)</div>
<div class="p-1 text-bg-primary">p-1</div>
<div class="p-2 text-bg-primary">p-2</div>
<div class="p-3 text-bg-primary">p-3</div>
<div class="p-4 text-bg-primary">p-4</div>
<div class="p-5 text-bg-primary">p-5</div>
</div>Directional Padding
live preview
editable html
<div class="pt-3 text-bg-primary mb-2">pt-3 (padding top)</div>
<div class="pe-5 text-bg-primary mb-2">pe-5 (padding end)</div>
<div class="pb-3 text-bg-primary mb-2">pb-3 (padding bottom)</div>
<div class="ps-5 text-bg-primary mb-2">ps-5 (padding start)</div>
<div class="px-5 text-bg-primary mb-2">px-5 (horizontal padding)</div>
<div class="py-4 text-bg-primary">py-4 (vertical padding)</div>
Horizontal Centering
Use .mx-auto to center fixed-width block elements.
live preview
editable html
<div class="mx-auto p-d text-bg-primary w-50">
Centered element
</div>
Gap
Use .gap-{size} on grid or flex containers to set spacing between children. Sizes range from 0 to 5, plus d (default). All gap utilities support responsive breakpoints.
live preview
editable html
<div class="d-grid gap-d mb-3" style="grid-template-columns:1fr 1fr">
<div class="p-d text-bg-primary">Grid item 1 (gap-d)</div>
<div class="p-d text-bg-primary">Grid item 2</div>
<div class="p-d text-bg-primary">Grid item 3</div>
<div class="p-d text-bg-primary">Grid item 4</div>
</div>
<div class="d-grid gap-3" style="grid-template-columns:1fr 1fr">
<div class="p-d text-bg-primary">Grid item 1 (gap-3)</div>
<div class="p-d text-bg-primary">Grid item 2</div>
<div class="p-d text-bg-primary">Grid item 3</div>
<div class="p-d text-bg-primary">Grid item 4</div>
</div>
Row Gap
Use .row-gap-{size} for vertical spacing only.
live preview
editable html
<div class="d-grid gap-0 row-gap-3" style="grid-template-columns:1fr 1fr">
<div class="p-d text-bg-primary">Grid item 1</div>
<div class="p-d text-bg-primary">Grid item 2</div>
<div class="p-d text-bg-primary">Grid item 3</div>
<div class="p-d text-bg-primary">Grid item 4</div>
</div>
Column Gap
Use .column-gap-{size} for horizontal spacing only.
live preview
editable html
<div class="d-grid gap-0 column-gap-3" style="grid-template-columns:1fr 1fr">
<div class="p-d text-bg-primary">Grid item 1</div>
<div class="p-d text-bg-primary">Grid item 2</div>
<div class="p-d text-bg-primary">Grid item 3</div>
<div class="p-d text-bg-primary">Grid item 4</div>
</div>
Practical Examples
Form Layout with Spacing
live preview
editable html
<form>
<div class="d-flex gap-3 mb-3">
<div class="flex-fill">
<label for="first">First name</label>
<input type="text" id="first" placeholder="First name" />
</div>
<div class="flex-fill">
<label for="last">Last name</label>
<input type="text" id="last" placeholder="Last name" />
</div>
</div>
<div class="mb-3">
<label for="email">Email</label>
<input type="email" id="email" placeholder="Email" />
</div>
<button type="submit">Submit</button>
</form>