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
| Client | Category | Engine | Support |
|---|---|---|---|
| Gmail | webmail | Gmail Web | PartialSee caveat 1 |
| Gmail Android | mobile | Gmail Mobile | PartialSee caveat 2 |
| Gmail iOS | mobile | Gmail Mobile | PartialSee caveat 1 |
| Outlook 365 | webmail | Outlook Web | PartialSee caveat 1 |
| Outlook (New) | desktop | Outlook Web | Unsupported |
| Outlook Classic | desktop | Microsoft Word | Unsupported |
| Outlook iOS | mobile | Outlook Mobile | PartialSee caveat 1 |
| Outlook Android | mobile | Outlook Mobile | PartialSee caveat 2 |
| Outlook for Mac | desktop | WebKit | PartialSee caveat 1 |
| Apple Mail | desktop | WebKit | PartialSee caveat 1 |
| Apple Mail iOS | mobile | WebKit | PartialSee caveat 1 |
| Yahoo Mail | webmail | Yahoo | PartialSee caveat 1 |
| Yahoo Mail Android | mobile | Yahoo | PartialSee caveat 2 |
| Yahoo Mail iOS | mobile | Yahoo | PartialSee caveat 1 |
| Samsung Mail | mobile | Samsung | PartialSee caveat 1 |
| Thunderbird | desktop | Gecko | Supported |
| HEY Mail | webmail | WebKit | Supported |
| Proton Mail | webmail | Proton | PartialSee caveat 3 |
| AOL Mail | webmail | AOL | PartialSee caveat 4 |
| Fastmail | webmail | Fastmail | Supported |
| Superhuman | desktop | Blink | Supported |
Documented caveats (4)
- 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-inlinenot supported. - 2.Gmail Android, Outlook Android, Yahoo Mail Android: Buggy. Cannot scroll through to hidden content. Partial.
overflow-block&overflow-inlinenot supported. - 3.Proton Mail: Partial. Support for
overflow-block&overflow-inlinedepends on browser support. Buggy. Cannot scroll through to hidden content. - 4.AOL Mail: Partial.
overflow-block&overflow-inlinenot 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)
UnsupportedContent will always be visible. Design accordingly.
Before (Broken)
<div style="max-height: 200px; overflow: hidden;">
Long content that gets clipped...
</div> After (Fixed)
<!-- 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
UnsupportedContent will always be visible. Design accordingly.
Before (Broken)
<div style="max-height: 200px; overflow: hidden;">
Long content that gets clipped...
</div> After (Fixed)
<!-- 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
PartialContent will always be visible. Design accordingly.
Before (Broken)
<div style="max-height: 200px; overflow: hidden;">
Long content that gets clipped...
</div> After (Fixed)
<!-- 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
PartialContent will always be visible. Design accordingly.
Before (Broken)
<div style="max-height: 200px; overflow: hidden;">
Long content that gets clipped...
</div> After (Fixed)
<!-- 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
PartialContent will always be visible. Design accordingly.
Before (Broken)
<div style="max-height: 200px; overflow: hidden;">
Long content that gets clipped...
</div> After (Fixed)
<!-- 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
PartialContent will always be visible. Design accordingly.
Before (Broken)
<div style="max-height: 200px; overflow: hidden;">
Long content that gets clipped...
</div> After (Fixed)
<!-- 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
PartialContent will always be visible. Design accordingly.
Before (Broken)
<div style="max-height: 200px; overflow: hidden;">
Long content that gets clipped...
</div> After (Fixed)
<!-- 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
PartialContent will always be visible. Design accordingly.
Before (Broken)
<div style="max-height: 200px; overflow: hidden;">
Long content that gets clipped...
</div> After (Fixed)
<!-- 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
PartialContent will always be visible. Design accordingly.
Before (Broken)
<div style="max-height: 200px; overflow: hidden;">
Long content that gets clipped...
</div> After (Fixed)
<!-- 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
PartialContent will always be visible. Design accordingly.
Before (Broken)
<div style="max-height: 200px; overflow: hidden;">
Long content that gets clipped...
</div> After (Fixed)
<!-- 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
PartialContent will always be visible. Design accordingly.
Before (Broken)
<div style="max-height: 200px; overflow: hidden;">
Long content that gets clipped...
</div> After (Fixed)
<!-- 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
PartialContent will always be visible. Design accordingly.
Before (Broken)
<div style="max-height: 200px; overflow: hidden;">
Long content that gets clipped...
</div> After (Fixed)
<!-- 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
PartialContent will always be visible. Design accordingly.
Before (Broken)
<div style="max-height: 200px; overflow: hidden;">
Long content that gets clipped...
</div> After (Fixed)
<!-- 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
PartialContent will always be visible. Design accordingly.
Before (Broken)
<div style="max-height: 200px; overflow: hidden;">
Long content that gets clipped...
</div> After (Fixed)
<!-- 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
PartialContent will always be visible. Design accordingly.
Before (Broken)
<div style="max-height: 200px; overflow: hidden;">
Long content that gets clipped...
</div> After (Fixed)
<!-- 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
PartialContent will always be visible. Design accordingly.
Before (Broken)
<div style="max-height: 200px; overflow: hidden;">
Long content that gets clipped...
</div> After (Fixed)
<!-- 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
PartialContent will always be visible. Design accordingly.
Before (Broken)
<div style="max-height: 200px; overflow: hidden;">
Long content that gets clipped...
</div> After (Fixed)
<!-- 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.
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.