Skip to Content

Customizing Spacing

Tailwind CSS v4 comes with a comprehensive default spacing scale that is perfect for most projects. However, you can easily extend or override this scale directly in your CSS using the “CSS-first” configuration.

Extending the Spacing Scale

To add a custom spacing value, use the --spacing-* variables within your @theme block. This allows you to define new values while keeping the default scale intact.

@theme { --spacing-4_5: 1.125rem; --spacing-10_5: 2.625rem; }

Now you can use these new values in your utilities just like the defaults:

<div class="p-4_5 m-10_5"> <!-- Custom padding and margin --> </div>

Overriding the Default Scale

If you want to replace the entire spacing scale with your own, you can set the --spacing variable. This sets a base value (like 0.25rem) that utilities will use as a multiplier.

@theme { --spacing: 0.25rem; /* The default is 0.25rem */ }

Arbitrary Values

For one-off adjustments where adding a new theme variable doesn’t make sense, Tailwind’s arbitrary value syntax is perfect. It works specifically well for pixel-perfect designs.

<div class="top-[117px] p-[10px]"> <!-- Custom one-off spacing --> </div>

For more details on customization, refer to the official Spacing documentation .

Last updated on