Django-Spellbook

Try the Markdown Editor! Explore Themes

Padding, margin, and gap utilities for controlling space in your layouts.


Spacing Scale

All spacing utilities use a consistent scale:

Value Size Pixels
0 0 0px
1 0.25rem 4px
2 0.5rem 8px
3 1rem 16px
4 1.5rem 24px
6 2rem 32px
8 3rem 48px

Padding

p (all sides)

<div class="sb-p-0 sb-bg-surface sb-text-text sb-border-2 sb-border-neutral">p-0: No padding</div>
<div class="sb-p-1 sb-bg-surface sb-text-text sb-border-2 sb-border-neutral">p-1: 0.25rem</div>
<div class="sb-p-2 sb-bg-surface sb-text-text sb-border-2 sb-border-neutral">p-2: 0.5rem</div>
<div class="sb-p-3 sb-bg-surface sb-text-text sb-border-2 sb-border-neutral">p-3: 1rem</div>
<div class="sb-p-4 sb-bg-surface sb-text-text sb-border-2 sb-border-neutral">p-4: 1.5rem</div>
<div class="sb-p-6 sb-bg-surface sb-text-text sb-border-2 sb-border-neutral">p-6: 2rem</div>

Loading preview...

px / py (horizontal / vertical)

<div class="sb-px-6 sb-py-1 sb-bg-surface sb-text-text sb-border-2 sb-border-neutral">px-6 py-1: Wide horizontal</div>
<div class="sb-px-1 sb-py-4 sb-bg-surface sb-text-text sb-border-2 sb-border-neutral">px-1 py-4: Tall vertical</div>

Loading preview...

pt / pr / pb / pl (individual sides)

<div class="sb-pt-4 sb-bg-surface sb-text-text sb-border-2 sb-border-neutral">pt-4: Padding top</div>
<div class="sb-pr-6 sb-bg-surface sb-text-text sb-border-2 sb-border-neutral">pr-6: Padding right</div>
<div class="sb-pb-4 sb-bg-surface sb-text-text sb-border-2 sb-border-neutral">pb-4: Padding bottom</div>
<div class="sb-pl-6 sb-bg-surface sb-text-text sb-border-2 sb-border-neutral">pl-6: Padding left</div>

Loading preview...


Margin

m (all sides)

<!-- Containers show the margin space -->
<div class="sb-bg-neutral-5 sb-p-1">
  <div class="sb-m-0 sb-bg-surface sb-text-text sb-p-2">m-0 inside container</div>
</div>
<div class="sb-bg-neutral-5 sb-p-1">
  <div class="sb-m-2 sb-bg-surface sb-text-text sb-p-2">m-2 inside container</div>
</div>
<div class="sb-bg-neutral-5 sb-p-1">
  <div class="sb-m-4 sb-bg-surface sb-text-text sb-p-2">m-4 inside container</div>
</div>

Loading preview...

mb (margin bottom) - Most common

<div class="sb-bg-surface sb-text-text sb-p-3 sb-mb-2 sb-border-2 sb-border-neutral">mb-2: Small gap below</div>
<div class="sb-bg-surface sb-text-text sb-p-3 sb-mb-4 sb-border-2 sb-border-neutral">mb-4: Medium gap below</div>
<div class="sb-bg-surface sb-text-text sb-p-3 sb-mb-8 sb-border-2 sb-border-neutral">mb-8: Large gap below</div>
<div class="sb-bg-surface sb-text-text sb-p-3 sb-border-2 sb-border-neutral">Next element after gaps</div>

Loading preview...


Gap

Space between flex/grid children. Cleaner than margins.

ℹ️

Gap requires sb-flex or sb-grid on the parent container.

<!-- gap-2 -->
<div class="sb-flex sb-gap-2">
  <div class="sb-bg-primary sb-text-text sb-p-3">A</div>
  <div class="sb-bg-primary sb-text-text sb-p-3">B</div>
  <div class="sb-bg-primary sb-text-text sb-p-3">C</div>
</div>

<!-- gap-4 -->
<div class="sb-flex sb-gap-4">
  <div class="sb-bg-primary sb-text-text sb-p-3">A</div>
  <div class="sb-bg-primary sb-text-text sb-p-3">B</div>
  <div class="sb-bg-primary sb-text-text sb-p-3">C</div>
</div>

<!-- gap-8 -->
<div class="sb-flex sb-gap-8">
  <div class="sb-bg-primary sb-text-text sb-p-3">A</div>
  <div class="sb-bg-primary sb-text-text sb-p-3">B</div>
  <div class="sb-bg-primary sb-text-text sb-p-3">C</div>
</div>

Loading preview...


Quick Reference

Padding

All: sb-p-{0,1,2,3,4,6,8}

Axis: sb-px-*, sb-py-*

Sides: sb-pt-*, sb-pr-*, sb-pb-*, sb-pl-*

Margin

All: sb-m-{0,1,2,3,4,6,8}

Axis: sb-mx-*, sb-my-*

Sides: sb-mt-*, sb-mr-*, sb-mb-*, sb-ml-*

Negative: sb-m-n*, sb-mt-n*, etc.

Gap

Gap: sb-gap-{1,2,3,4,6,8}

Space Between: sb-space-x-*, sb-space-y-*


Next Steps