Skip to main content
CSS Properties

gap

CSS property · 6 supported, 6 partial, 3 unsupported across 15 clients

Client Support

ClientCategoryEngineSupport
GmailwebmailGmail WebPartial
Gmail AndroidmobileGmail MobilePartial
Gmail iOSmobileGmail MobilePartial
Outlook 365webmailOutlook WebPartial
Outlook (New)desktopOutlook WebUnsupported
Outlook ClassicdesktopMicrosoft WordUnsupported
Outlook iOSmobileOutlook MobilePartial
Outlook AndroidmobileOutlook MobilePartial
Apple MaildesktopWebKitSupported
Apple Mail iOSmobileWebKitSupported
Yahoo MailwebmailYahooUnsupported
Samsung MailmobileSamsungSupported
ThunderbirddesktopGeckoSupported
HEY MailwebmailWebKitSupported
SuperhumandesktopBlinkSupported

Client-by-client behaviour for gap

Fully supports gap (6): Apple Mail, Apple Mail iOS, Samsung Mail, Thunderbird, HEY Mail, Superhuman.

Partial support (6): Gmail, Gmail Android, Gmail iOS, Outlook 365, Outlook iOS, Outlook Android. Expect rendering quirks unique to each engine — partial support typically means a subset of values, an ignored shorthand, or sanitizer-specific rewrites.

No support (3): Outlook (New), Outlook Classic, Yahoo Mail. Plan fallbacks for these clients before relying on gap in production sends.

Fixes & Workarounds

Outlook (New)

Unsupported

Use padding/margin on child elements instead of gap.

Before

<div style="display: flex; gap: 16px;">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
</div>

After

<table role="presentation" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding-right: 16px;">Item 1</td>
    <td style="padding-right: 16px;">Item 2</td>
    <td>Item 3</td>
  </tr>
</table>

Use padding or margin on child elements instead of gap

Outlook Classic

Unsupported

Use cellpadding/cellspacing on tables, or padding on cells.

Before

<div style="display: flex; gap: 16px;">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
</div>

After

<table role="presentation" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding-right: 16px;">Item 1</td>
    <td style="padding-right: 16px;">Item 2</td>
    <td>Item 3</td>
  </tr>
</table>

Use padding or margin on child elements instead of gap

Yahoo Mail

Unsupported

Use padding/margin on child elements instead of gap.

Before

<div style="display: flex; gap: 16px;">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
</div>

After

<table role="presentation" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding-right: 16px;">Item 1</td>
    <td style="padding-right: 16px;">Item 2</td>
    <td>Item 3</td>
  </tr>
</table>

Use padding or margin on child elements instead of gap

Gmail

Partial

Use padding/margin on child elements instead of gap.

Before

<div style="display: flex; gap: 16px;">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
</div>

After

<table role="presentation" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding-right: 16px;">Item 1</td>
    <td style="padding-right: 16px;">Item 2</td>
    <td>Item 3</td>
  </tr>
</table>

Use padding or margin on child elements instead of gap

Gmail Android

Partial

Use padding/margin on child elements instead of gap.

Before

<div style="display: flex; gap: 16px;">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
</div>

After

<table role="presentation" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding-right: 16px;">Item 1</td>
    <td style="padding-right: 16px;">Item 2</td>
    <td>Item 3</td>
  </tr>
</table>

Use padding or margin on child elements instead of gap

Gmail iOS

Partial

Use padding/margin on child elements instead of gap.

Before

<div style="display: flex; gap: 16px;">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
</div>

After

<table role="presentation" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding-right: 16px;">Item 1</td>
    <td style="padding-right: 16px;">Item 2</td>
    <td>Item 3</td>
  </tr>
</table>

Use padding or margin on child elements instead of gap

Outlook 365

Partial

Use padding/margin on child elements instead of gap.

Before

<div style="display: flex; gap: 16px;">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
</div>

After

<table role="presentation" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding-right: 16px;">Item 1</td>
    <td style="padding-right: 16px;">Item 2</td>
    <td>Item 3</td>
  </tr>
</table>

Use padding or margin on child elements instead of gap

Outlook iOS

Partial

Use padding/margin on child elements instead of gap.

Before

<div style="display: flex; gap: 16px;">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
</div>

After

<table role="presentation" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding-right: 16px;">Item 1</td>
    <td style="padding-right: 16px;">Item 2</td>
    <td>Item 3</td>
  </tr>
</table>

Use padding or margin on child elements instead of gap

Outlook Android

Partial

Use padding/margin on child elements instead of gap.

Before

<div style="display: flex; gap: 16px;">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
</div>

After

<table role="presentation" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding-right: 16px;">Item 1</td>
    <td style="padding-right: 16px;">Item 2</td>
    <td>Item 3</td>
  </tr>
</table>

Use padding or margin on child elements instead of gap

Production guidance for gap

gap is a CSS property. Across the email client matrix, 6 of 15 tracked clients support it fully, 6 only partially, and 3 not at all. The clients most likely to require a workaround for this feature are Outlook (New), Outlook Classic, Yahoo Mail. Each of them needs a tailored fallback — see the per-client examples above for the specific code fix Emailens recommends.

When in doubt, ship a baseline that renders without gap and treat it as progressive enhancement on clients where support is verified. Emailens automatically detects cross-client divergence on this feature when you preview an email, so you can see exactly which template paths break before a campaign goes out.

Related Features

Test your email across all 15 clients

Preview rendering, catch CSS issues, and get actionable fixes — free.

Try Emailens Free

Support data last updated Apr 27, 2026 · synced from caniemail.com via @emailens/engine.