Skip to main content
Emailens
CSS Properties

overflow

CSS property · 4 supported, 15 partial, 2 unsupported across 21 clients

As of Sep 2, 2026, overflow fails or degrades in 17 of 21 email clients, treat it as progressive enhancement, never structure.

  • 2/7 webmail, 2/6 desktop, 0/8 mobile clients support overflow fully.
  • Unsupported in Outlook (New), Outlook Classic.
  • Partial in Gmail, Gmail Android, Gmail iOS, Outlook 365 and 11 more, behavior differs from browsers, test before relying on it.
  • Outlook Classic (Word engine, supported to at least 2029) does not fully support overflow, and its replacement changes little here; see the deprecation diff.
  • Documented before/after fixes on this page cover 21 clients, including Gmail and Gmail Android.
  • Across all clients, only 6 of 298 tracked HTML/CSS features render identically everywhere.

Source: caniemail.com (MIT), via the Emailens engine. Last tested upstream May 27, 2025, synced by Emailens Sep 2, 2026.

Client Support

ClientCategoryEngineSupport
GmailwebmailGmail WebPartialSee caveat 1
Gmail AndroidmobileGmail MobilePartialSee caveat 2
Gmail iOSmobileGmail MobilePartialSee caveat 1
Outlook 365webmailOutlook WebPartialSee caveat 1
Outlook (New)desktopOutlook WebUnsupported
Outlook ClassicdesktopMicrosoft WordUnsupported
Outlook iOSmobileOutlook MobilePartialSee caveat 1
Outlook AndroidmobileOutlook MobilePartialSee caveat 2
Outlook for MacdesktopWebKitPartialSee caveat 1
Apple MaildesktopWebKitPartialSee caveat 1
Apple Mail iOSmobileWebKitPartialSee caveat 1
Yahoo MailwebmailYahooPartialSee caveat 1
Yahoo Mail AndroidmobileYahooPartialSee caveat 2
Yahoo Mail iOSmobileYahooPartialSee caveat 1
Samsung MailmobileSamsungPartialSee caveat 1
ThunderbirddesktopGeckoSupported
HEY MailwebmailWebKitSupported
Proton MailwebmailProtonPartialSee caveat 3
AOL MailwebmailAOLPartialSee caveat 4
FastmailwebmailFastmailSupported
SuperhumandesktopBlinkSupported

Documented caveats (4)

  1. 1.Gmail, Gmail iOS, Outlook 365, Outlook iOS, Outlook for Mac, Apple Mail, Apple Mail iOS, Yahoo Mail, Yahoo Mail iOS, Samsung Mail: Partial. overflow-block & overflow-inline not supported.
  2. 2.Gmail Android, Outlook Android, Yahoo Mail Android: Buggy. Cannot scroll through to hidden content. Partial. overflow-block & overflow-inline not supported.
  3. 3.Proton Mail: Partial. Support for overflow-block & overflow-inline depends on browser support. Buggy. Cannot scroll through to hidden content.
  4. 4.AOL Mail: Partial. overflow-block & overflow-inline not supported. Buggy. Cannot scroll through to hidden content.

Caveats recorded by caniemail.com (MIT) and carried verbatim, one entry per wording rather than per client.

Client-by-client behaviour for overflow

Fully supports overflow (4): Thunderbird, HEY Mail, Fastmail, Superhuman.

Partial support (15): Gmail, Gmail Android, Gmail iOS, Outlook 365, Outlook iOS, Outlook Android, Outlook for Mac, Apple Mail, Apple Mail iOS, Yahoo Mail, Yahoo Mail Android, Yahoo Mail iOS, Samsung Mail, Proton Mail, AOL Mail. Expect rendering quirks unique to each engine. Partial support typically means a subset of values, an ignored shorthand, or sanitizer-specific rewrites.

No support (2): Outlook (New), Outlook Classic. Plan fallbacks for these clients before relying on overflow in production sends.

Fixes & Workarounds

Outlook (New)

Unsupported

Content will always be visible. Design accordingly.

Before (Broken)

before.html
3 lines
<div style="max-height: 200px; overflow: hidden;">
  Long content that gets clipped...
</div>

After (Fixed)

fixed.html
5 lines
<!-- Show full content, or truncate server-side -->
<div style="max-height: 200px;">
  Shortened content that fits...
  <a href="https://example.com/full">Read more</a>
</div>

Content will always be visible; design for full content display

Outlook Classic

Unsupported

Content will always be visible. Design accordingly.

Before (Broken)

before.html
3 lines
<div style="max-height: 200px; overflow: hidden;">
  Long content that gets clipped...
</div>

After (Fixed)

fixed.html
5 lines
<!-- Show full content, or truncate server-side -->
<div style="max-height: 200px;">
  Shortened content that fits...
  <a href="https://example.com/full">Read more</a>
</div>

Content will always be visible; design for full content display

Gmail

Partial

Content will always be visible. Design accordingly.

Before (Broken)

before.html
3 lines
<div style="max-height: 200px; overflow: hidden;">
  Long content that gets clipped...
</div>

After (Fixed)

fixed.html
5 lines
<!-- Show full content, or truncate server-side -->
<div style="max-height: 200px;">
  Shortened content that fits...
  <a href="https://example.com/full">Read more</a>
</div>

Content will always be visible; design for full content display

Gmail Android

Partial

Content will always be visible. Design accordingly.

Before (Broken)

before.html
3 lines
<div style="max-height: 200px; overflow: hidden;">
  Long content that gets clipped...
</div>

After (Fixed)

fixed.html
5 lines
<!-- Show full content, or truncate server-side -->
<div style="max-height: 200px;">
  Shortened content that fits...
  <a href="https://example.com/full">Read more</a>
</div>

Content will always be visible; design for full content display

Gmail iOS

Partial

Content will always be visible. Design accordingly.

Before (Broken)

before.html
3 lines
<div style="max-height: 200px; overflow: hidden;">
  Long content that gets clipped...
</div>

After (Fixed)

fixed.html
5 lines
<!-- Show full content, or truncate server-side -->
<div style="max-height: 200px;">
  Shortened content that fits...
  <a href="https://example.com/full">Read more</a>
</div>

Content will always be visible; design for full content display

Outlook 365

Partial

Content will always be visible. Design accordingly.

Before (Broken)

before.html
3 lines
<div style="max-height: 200px; overflow: hidden;">
  Long content that gets clipped...
</div>

After (Fixed)

fixed.html
5 lines
<!-- Show full content, or truncate server-side -->
<div style="max-height: 200px;">
  Shortened content that fits...
  <a href="https://example.com/full">Read more</a>
</div>

Content will always be visible; design for full content display

Outlook iOS

Partial

Content will always be visible. Design accordingly.

Before (Broken)

before.html
3 lines
<div style="max-height: 200px; overflow: hidden;">
  Long content that gets clipped...
</div>

After (Fixed)

fixed.html
5 lines
<!-- Show full content, or truncate server-side -->
<div style="max-height: 200px;">
  Shortened content that fits...
  <a href="https://example.com/full">Read more</a>
</div>

Content will always be visible; design for full content display

Outlook Android

Partial

Content will always be visible. Design accordingly.

Before (Broken)

before.html
3 lines
<div style="max-height: 200px; overflow: hidden;">
  Long content that gets clipped...
</div>

After (Fixed)

fixed.html
5 lines
<!-- Show full content, or truncate server-side -->
<div style="max-height: 200px;">
  Shortened content that fits...
  <a href="https://example.com/full">Read more</a>
</div>

Content will always be visible; design for full content display

Outlook for Mac

Partial

Content will always be visible. Design accordingly.

Before (Broken)

before.html
3 lines
<div style="max-height: 200px; overflow: hidden;">
  Long content that gets clipped...
</div>

After (Fixed)

fixed.html
5 lines
<!-- Show full content, or truncate server-side -->
<div style="max-height: 200px;">
  Shortened content that fits...
  <a href="https://example.com/full">Read more</a>
</div>

Content will always be visible; design for full content display

Apple Mail

Partial

Content will always be visible. Design accordingly.

Before (Broken)

before.html
3 lines
<div style="max-height: 200px; overflow: hidden;">
  Long content that gets clipped...
</div>

After (Fixed)

fixed.html
5 lines
<!-- Show full content, or truncate server-side -->
<div style="max-height: 200px;">
  Shortened content that fits...
  <a href="https://example.com/full">Read more</a>
</div>

Content will always be visible; design for full content display

Apple Mail iOS

Partial

Content will always be visible. Design accordingly.

Before (Broken)

before.html
3 lines
<div style="max-height: 200px; overflow: hidden;">
  Long content that gets clipped...
</div>

After (Fixed)

fixed.html
5 lines
<!-- Show full content, or truncate server-side -->
<div style="max-height: 200px;">
  Shortened content that fits...
  <a href="https://example.com/full">Read more</a>
</div>

Content will always be visible; design for full content display

Yahoo Mail

Partial

Content will always be visible. Design accordingly.

Before (Broken)

before.html
3 lines
<div style="max-height: 200px; overflow: hidden;">
  Long content that gets clipped...
</div>

After (Fixed)

fixed.html
5 lines
<!-- Show full content, or truncate server-side -->
<div style="max-height: 200px;">
  Shortened content that fits...
  <a href="https://example.com/full">Read more</a>
</div>

Content will always be visible; design for full content display

Yahoo Mail Android

Partial

Content will always be visible. Design accordingly.

Before (Broken)

before.html
3 lines
<div style="max-height: 200px; overflow: hidden;">
  Long content that gets clipped...
</div>

After (Fixed)

fixed.html
5 lines
<!-- Show full content, or truncate server-side -->
<div style="max-height: 200px;">
  Shortened content that fits...
  <a href="https://example.com/full">Read more</a>
</div>

Content will always be visible; design for full content display

Yahoo Mail iOS

Partial

Content will always be visible. Design accordingly.

Before (Broken)

before.html
3 lines
<div style="max-height: 200px; overflow: hidden;">
  Long content that gets clipped...
</div>

After (Fixed)

fixed.html
5 lines
<!-- Show full content, or truncate server-side -->
<div style="max-height: 200px;">
  Shortened content that fits...
  <a href="https://example.com/full">Read more</a>
</div>

Content will always be visible; design for full content display

Samsung Mail

Partial

Content will always be visible. Design accordingly.

Before (Broken)

before.html
3 lines
<div style="max-height: 200px; overflow: hidden;">
  Long content that gets clipped...
</div>

After (Fixed)

fixed.html
5 lines
<!-- Show full content, or truncate server-side -->
<div style="max-height: 200px;">
  Shortened content that fits...
  <a href="https://example.com/full">Read more</a>
</div>

Content will always be visible; design for full content display

Proton Mail

Partial

Content will always be visible. Design accordingly.

Before (Broken)

before.html
3 lines
<div style="max-height: 200px; overflow: hidden;">
  Long content that gets clipped...
</div>

After (Fixed)

fixed.html
5 lines
<!-- Show full content, or truncate server-side -->
<div style="max-height: 200px;">
  Shortened content that fits...
  <a href="https://example.com/full">Read more</a>
</div>

Content will always be visible; design for full content display

AOL Mail

Partial

Content will always be visible. Design accordingly.

Before (Broken)

before.html
3 lines
<div style="max-height: 200px; overflow: hidden;">
  Long content that gets clipped...
</div>

After (Fixed)

fixed.html
5 lines
<!-- Show full content, or truncate server-side -->
<div style="max-height: 200px;">
  Shortened content that fits...
  <a href="https://example.com/full">Read more</a>
</div>

Content will always be visible; design for full content display

Production guidance for overflow

overflow is a CSS property. Across the email client matrix, 4 of 21 tracked clients support it fully, 15 only partially, and 2 not at all. The clients most likely to require a workaround for this feature are Outlook (New), Outlook Classic, Gmail. 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 overflow 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

Check your own HTML for overflow

Paste your own, or run the sample below. Analyzed in this page, with no signup and nothing stored.

Zero-Friction Engine Preview

Test your overflow layout across 21 email clients

Preview rendering, catch CSS issues, and see how overflow displays across Outlook, Gmail, and Apple Mail. Free, no account needed.

Instant live preview · No signup required · 21 email engines

Last tested upstream: · Last synced by Emailens:

caniemail.com (MIT) records May 27, 2025 as the last time overflow was tested in a real client, 1 year before this sync. Syncing copies that result forward, it does not re-test it. Carried in @emailens/engine data v0.12.2.