Vertical spacing in HTML emails can be tricky, mainly because of inconsistent support for (and rendering of) margin, padding, and <br> tags.

Here's how easy it is to create simple yet reliable spacers for your emails, using basic HTML and Tailwind CSS utility classes.


The simplest vertical spacer for HTML emails:

<div class="leading-4" role="separator">&zwj;</div>

How it works:

  1. leading-4 sets the spacer's height with line-height: 16px;
  2. role="separator" indicates the element is a divider, improving accessibility
  3. &zwj; adds 'content' inside, so that the <div> can take up height

You may specify a different height for smaller devices by using the sm: screen variant:

<div class="leading-4 sm:leading-2" role="separator">&zwj;</div>

The div spacer is also available as a component.


Need to add space between <table> rows?

<tr role="separator">
<td class="leading-4">&zwj;</td>

The default ARIA role for a <tr> is row, so we use role="separator" to indicate that this is a separator, not a table row.


We can use an <hr> to create a semantic Spacer.

<hr class="border-0 text-white my-4 min-h-full">

How it works:

  • we hide the line by resetting the border
  • we give it the same color as the background of the page (for Outlook)
  • we control the height with top and bottom margins

The min-h-full class is used for compatibility with Apple email clients.

Copyright © 2024 Maizzle SRLBrand policy
Edit this page on GitHub