Skip to main content
CSS At-Rules

@media

CSS at-rule · 10 supported, 0 partial, 11 unsupported across 21 clients

Client Support

ClientCategoryEngineSupport
GmailwebmailGmail WebUnsupported
Gmail AndroidmobileGmail MobileUnsupported
Gmail iOSmobileGmail MobileUnsupported
Outlook 365webmailOutlook WebSupported
Outlook (New)desktopOutlook WebUnsupported
Outlook ClassicdesktopMicrosoft WordUnsupported
Outlook iOSmobileOutlook MobileSupported
Outlook AndroidmobileOutlook MobileSupported
Outlook for MacdesktopWebKitSupported
Apple MaildesktopWebKitSupported
Apple Mail iOSmobileWebKitSupported
Yahoo MailwebmailYahooUnsupported
Yahoo Mail AndroidmobileYahooUnsupported
Yahoo Mail iOSmobileYahooUnsupported
Samsung MailmobileSamsungSupported
ThunderbirddesktopGeckoUnsupported
HEY MailwebmailWebKitSupported
Proton MailwebmailProtonUnsupported
AOL MailwebmailAOLUnsupported
FastmailwebmailFastmailSupported
SuperhumandesktopBlinkSupported

Client-by-client behaviour for @media

Fully supports @media (10): Outlook 365, Outlook iOS, Outlook Android, Outlook for Mac, Apple Mail, Apple Mail iOS, Samsung Mail, HEY Mail, Fastmail, Superhuman.

No support (11): Gmail, Gmail Android, Gmail iOS, Outlook (New), Outlook Classic, Yahoo Mail, Yahoo Mail Android, Yahoo Mail iOS, Thunderbird, Proton Mail, AOL Mail. Plan fallbacks for these clients before relying on @media in production sends.

Fixes & Workarounds

Gmail

Unsupported

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

Before

<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

<!-- 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

Unsupported

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

Before

<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

<!-- 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

Unsupported

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

Before

<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

<!-- 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)

Unsupported

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

Before

<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

<!-- 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 Classic

Unsupported

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

Before

<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

<!-- 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

Unsupported

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

Before

<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

<!-- 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

Unsupported

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

Before

<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

<!-- 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

Unsupported

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

Before

<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

<!-- 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

<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

<!-- 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

Unsupported

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

Before

<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

<!-- 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

Unsupported

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

Before

<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

<!-- 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, 10 of 15 tracked clients support it fully, 0 only partially, and 11 not at all. The clients most likely to require a workaround for this feature are Gmail, Gmail Android, Gmail iOS. 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

Test your email across all 21 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.