Skip to main content
Emailens
CSS At-Rules

@media

CSS at-rule · 6 supported, 13 partial, 2 unsupported across 21 clients

As of Oct 14, 2026, @media fails or degrades in 15 of 21 email clients, treat it as progressive enhancement, never structure.

  • 2/7 webmail, 3/6 desktop, 1/8 mobile clients support @media fully.
  • Unsupported in Outlook Classic, Thunderbird.
  • Partial in Gmail, Gmail Android, Gmail iOS, Outlook 365 and 9 more, behavior differs from browsers, test before relying on it.
  • Outlook Classic (Word engine, supported to at least 2029) does not fully support @media, 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 Dec 13, 2023, synced by Emailens Oct 14, 2026.

Client Support

ClientCategoryEngineSupport
GmailwebmailGmail WebPartialSee caveat 1
Gmail AndroidmobileGmail MobilePartialSee caveat 2
Gmail iOSmobileGmail MobilePartialSee caveat 2
Outlook 365webmailOutlook WebPartialSee caveat 3
Outlook (New)desktopOutlook WebPartialSee caveat 3
Outlook ClassicdesktopMicrosoft WordUnsupported
Outlook iOSmobileOutlook MobilePartialSee caveat 4
Outlook AndroidmobileOutlook MobilePartialSee caveat 4
Outlook for MacdesktopWebKitSupported
Apple MaildesktopWebKitSupported
Apple Mail iOSmobileWebKitSupported
Yahoo MailwebmailYahooPartialSee caveat 5
Yahoo Mail AndroidmobileYahooPartialSee caveat 5
Yahoo Mail iOSmobileYahooPartialSee caveat 5
Samsung MailmobileSamsungPartialSee caveat 6
ThunderbirddesktopGeckoUnsupported
HEY MailwebmailWebKitSupported
Proton MailwebmailProtonPartialSee caveat 7
AOL MailwebmailAOLPartialSee caveat 5
FastmailwebmailFastmailSupported
SuperhumandesktopBlinkSupported

Documented caveats (7)

  1. 1.Gmail: Partial. Does not support height based media queries.
  2. 2.Gmail Android, Gmail iOS: Partial. Not supported with non Google accounts. Partial. Does not support height based media queries.
  3. 3.Outlook 365, Outlook (New): Partial. Does not support nested media queries. Partial. Nested media queries are removed.
  4. 4.Outlook iOS, Outlook Android: Partial. Does not support nested media queries.
  5. 5.Yahoo Mail, Yahoo Mail Android, Yahoo Mail iOS, AOL Mail: Partial. Only supports screen, min-width, max-width, min-height and max-height based media queries.
  6. 6.Samsung Mail: Partial. Not supported with Hotmail/Outlook accounts.
  7. 7.Proton Mail: Partial. Does not support landscape media query.

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

Client-by-client behaviour for @media

Fully supports @media (6): Outlook for Mac, Apple Mail, Apple Mail iOS, HEY Mail, Fastmail, Superhuman.

Partial support (13): Gmail, Gmail Android, Gmail iOS, Outlook 365, Outlook (New), Outlook iOS, Outlook Android, 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 Classic, Thunderbird. Plan fallbacks for these clients before relying on @media in production sends.

Fixes & Workarounds

Outlook Classic

Unsupported

Design emails mobile-first with a single-column layout that works without media queries.

Before (Broken)

before.html
<table width="800">
  <tr>
    <td width="400">Left Column</td>
    <td width="400">Right Column</td>
  </tr>
</table>
<style>
  @media (max-width: 600px) {
    table { width: 100% !important; }
    td { display: block !important; width: 100% !important; }
  }
</style>

After (Fixed)

fixed.html
<!-- Single-column layout that works without @media -->
<table role="presentation" width="100%"
  style="max-width: 600px;" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding: 16px;">Left Column</td>
  </tr>
  <tr>
    <td style="padding: 16px;">Right Column</td>
  </tr>
</table>

Design mobile-first for clients without media query support

Thunderbird

Unsupported

Design emails mobile-first with a single-column layout that works without media queries.

Before (Broken)

before.html
<table width="800">
  <tr>
    <td width="400">Left Column</td>
    <td width="400">Right Column</td>
  </tr>
</table>
<style>
  @media (max-width: 600px) {
    table { width: 100% !important; }
    td { display: block !important; width: 100% !important; }
  }
</style>

After (Fixed)

fixed.html
<!-- Single-column layout that works without @media -->
<table role="presentation" width="100%"
  style="max-width: 600px;" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding: 16px;">Left Column</td>
  </tr>
  <tr>
    <td style="padding: 16px;">Right Column</td>
  </tr>
</table>

Design mobile-first for clients without media query support

Gmail

Partial

Design emails mobile-first with a single-column layout that works without media queries.

Before (Broken)

before.html
<table width="800">
  <tr>
    <td width="400">Left Column</td>
    <td width="400">Right Column</td>
  </tr>
</table>
<style>
  @media (max-width: 600px) {
    table { width: 100% !important; }
    td { display: block !important; width: 100% !important; }
  }
</style>

After (Fixed)

fixed.html
<!-- Single-column layout that works without @media -->
<table role="presentation" width="100%"
  style="max-width: 600px;" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding: 16px;">Left Column</td>
  </tr>
  <tr>
    <td style="padding: 16px;">Right Column</td>
  </tr>
</table>

Design mobile-first for clients without media query support

Gmail Android

Partial

Design emails mobile-first with a single-column layout that works without media queries.

Before (Broken)

before.html
<table width="800">
  <tr>
    <td width="400">Left Column</td>
    <td width="400">Right Column</td>
  </tr>
</table>
<style>
  @media (max-width: 600px) {
    table { width: 100% !important; }
    td { display: block !important; width: 100% !important; }
  }
</style>

After (Fixed)

fixed.html
<!-- Single-column layout that works without @media -->
<table role="presentation" width="100%"
  style="max-width: 600px;" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding: 16px;">Left Column</td>
  </tr>
  <tr>
    <td style="padding: 16px;">Right Column</td>
  </tr>
</table>

Design mobile-first for clients without media query support

Gmail iOS

Partial

Design emails mobile-first with a single-column layout that works without media queries.

Before (Broken)

before.html
<table width="800">
  <tr>
    <td width="400">Left Column</td>
    <td width="400">Right Column</td>
  </tr>
</table>
<style>
  @media (max-width: 600px) {
    table { width: 100% !important; }
    td { display: block !important; width: 100% !important; }
  }
</style>

After (Fixed)

fixed.html
<!-- Single-column layout that works without @media -->
<table role="presentation" width="100%"
  style="max-width: 600px;" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding: 16px;">Left Column</td>
  </tr>
  <tr>
    <td style="padding: 16px;">Right Column</td>
  </tr>
</table>

Design mobile-first for clients without media query support

Outlook 365

Partial

Design emails mobile-first with a single-column layout that works without media queries.

Before (Broken)

before.html
<table width="800">
  <tr>
    <td width="400">Left Column</td>
    <td width="400">Right Column</td>
  </tr>
</table>
<style>
  @media (max-width: 600px) {
    table { width: 100% !important; }
    td { display: block !important; width: 100% !important; }
  }
</style>

After (Fixed)

fixed.html
<!-- Single-column layout that works without @media -->
<table role="presentation" width="100%"
  style="max-width: 600px;" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding: 16px;">Left Column</td>
  </tr>
  <tr>
    <td style="padding: 16px;">Right Column</td>
  </tr>
</table>

Design mobile-first for clients without media query support

Outlook (New)

Partial

Design emails mobile-first with a single-column layout that works without media queries.

Before (Broken)

before.html
<table width="800">
  <tr>
    <td width="400">Left Column</td>
    <td width="400">Right Column</td>
  </tr>
</table>
<style>
  @media (max-width: 600px) {
    table { width: 100% !important; }
    td { display: block !important; width: 100% !important; }
  }
</style>

After (Fixed)

fixed.html
<!-- Single-column layout that works without @media -->
<table role="presentation" width="100%"
  style="max-width: 600px;" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding: 16px;">Left Column</td>
  </tr>
  <tr>
    <td style="padding: 16px;">Right Column</td>
  </tr>
</table>

Design mobile-first for clients without media query support

Outlook iOS

Partial

Design emails mobile-first with a single-column layout that works without media queries.

Before (Broken)

before.html
<table width="800">
  <tr>
    <td width="400">Left Column</td>
    <td width="400">Right Column</td>
  </tr>
</table>
<style>
  @media (max-width: 600px) {
    table { width: 100% !important; }
    td { display: block !important; width: 100% !important; }
  }
</style>

After (Fixed)

fixed.html
<!-- Single-column layout that works without @media -->
<table role="presentation" width="100%"
  style="max-width: 600px;" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding: 16px;">Left Column</td>
  </tr>
  <tr>
    <td style="padding: 16px;">Right Column</td>
  </tr>
</table>

Design mobile-first for clients without media query support

Outlook Android

Partial

Design emails mobile-first with a single-column layout that works without media queries.

Before (Broken)

before.html
<table width="800">
  <tr>
    <td width="400">Left Column</td>
    <td width="400">Right Column</td>
  </tr>
</table>
<style>
  @media (max-width: 600px) {
    table { width: 100% !important; }
    td { display: block !important; width: 100% !important; }
  }
</style>

After (Fixed)

fixed.html
<!-- Single-column layout that works without @media -->
<table role="presentation" width="100%"
  style="max-width: 600px;" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding: 16px;">Left Column</td>
  </tr>
  <tr>
    <td style="padding: 16px;">Right Column</td>
  </tr>
</table>

Design mobile-first for clients without media query support

Yahoo Mail

Partial

Design emails mobile-first with a single-column layout that works without media queries.

Before (Broken)

before.html
<table width="800">
  <tr>
    <td width="400">Left Column</td>
    <td width="400">Right Column</td>
  </tr>
</table>
<style>
  @media (max-width: 600px) {
    table { width: 100% !important; }
    td { display: block !important; width: 100% !important; }
  }
</style>

After (Fixed)

fixed.html
<!-- Single-column layout that works without @media -->
<table role="presentation" width="100%"
  style="max-width: 600px;" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding: 16px;">Left Column</td>
  </tr>
  <tr>
    <td style="padding: 16px;">Right Column</td>
  </tr>
</table>

Design mobile-first for clients without media query support

Yahoo Mail Android

Partial

Design emails mobile-first with a single-column layout that works without media queries.

Before (Broken)

before.html
<table width="800">
  <tr>
    <td width="400">Left Column</td>
    <td width="400">Right Column</td>
  </tr>
</table>
<style>
  @media (max-width: 600px) {
    table { width: 100% !important; }
    td { display: block !important; width: 100% !important; }
  }
</style>

After (Fixed)

fixed.html
<!-- Single-column layout that works without @media -->
<table role="presentation" width="100%"
  style="max-width: 600px;" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding: 16px;">Left Column</td>
  </tr>
  <tr>
    <td style="padding: 16px;">Right Column</td>
  </tr>
</table>

Design mobile-first for clients without media query support

Yahoo Mail iOS

Partial

Design emails mobile-first with a single-column layout that works without media queries.

Before (Broken)

before.html
<table width="800">
  <tr>
    <td width="400">Left Column</td>
    <td width="400">Right Column</td>
  </tr>
</table>
<style>
  @media (max-width: 600px) {
    table { width: 100% !important; }
    td { display: block !important; width: 100% !important; }
  }
</style>

After (Fixed)

fixed.html
<!-- Single-column layout that works without @media -->
<table role="presentation" width="100%"
  style="max-width: 600px;" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding: 16px;">Left Column</td>
  </tr>
  <tr>
    <td style="padding: 16px;">Right Column</td>
  </tr>
</table>

Design mobile-first for clients without media query support

Samsung Mail

Partial

Design emails mobile-first with a single-column layout that works without media queries.

Before (Broken)

before.html
<table width="800">
  <tr>
    <td width="400">Left Column</td>
    <td width="400">Right Column</td>
  </tr>
</table>
<style>
  @media (max-width: 600px) {
    table { width: 100% !important; }
    td { display: block !important; width: 100% !important; }
  }
</style>

After (Fixed)

fixed.html
<!-- Single-column layout that works without @media -->
<table role="presentation" width="100%"
  style="max-width: 600px;" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding: 16px;">Left Column</td>
  </tr>
  <tr>
    <td style="padding: 16px;">Right Column</td>
  </tr>
</table>

Design mobile-first for clients without media query support

Proton Mail

Partial

Design emails mobile-first with a single-column layout that works without media queries.

Before (Broken)

before.html
<table width="800">
  <tr>
    <td width="400">Left Column</td>
    <td width="400">Right Column</td>
  </tr>
</table>
<style>
  @media (max-width: 600px) {
    table { width: 100% !important; }
    td { display: block !important; width: 100% !important; }
  }
</style>

After (Fixed)

fixed.html
<!-- Single-column layout that works without @media -->
<table role="presentation" width="100%"
  style="max-width: 600px;" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding: 16px;">Left Column</td>
  </tr>
  <tr>
    <td style="padding: 16px;">Right Column</td>
  </tr>
</table>

Design mobile-first for clients without media query support

AOL Mail

Partial

Design emails mobile-first with a single-column layout that works without media queries.

Before (Broken)

before.html
<table width="800">
  <tr>
    <td width="400">Left Column</td>
    <td width="400">Right Column</td>
  </tr>
</table>
<style>
  @media (max-width: 600px) {
    table { width: 100% !important; }
    td { display: block !important; width: 100% !important; }
  }
</style>

After (Fixed)

fixed.html
<!-- Single-column layout that works without @media -->
<table role="presentation" width="100%"
  style="max-width: 600px;" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding: 16px;">Left Column</td>
  </tr>
  <tr>
    <td style="padding: 16px;">Right Column</td>
  </tr>
</table>

Design mobile-first for clients without media query support

Production guidance for @media

@media is a CSS at-rule. Across the email client matrix, 6 of 21 tracked clients support it fully, 13 only partially, and 2 not at all. The clients most likely to require a workaround for this feature are Outlook Classic, Thunderbird, 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 @media 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 @media

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

Zero-Friction Engine Preview

Test your @media layout across 21 email clients

Preview rendering, catch CSS issues, and see how @media 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 Dec 13, 2023 as the last time @media was tested in a real client, 2 years before this sync. Syncing copies that result forward, it does not re-test it. Carried in @emailens/engine data v0.14.5.