Skip to main content

Our email CSS engine is open source. Give it a star on GitHub 

Emailens
Blog

Responsive Email Design: Layouts Without Media Queries

Media queries do not reach every reader, so build columns that wrap on their own with inline-block and max-width, add a ghost table for Outlook Classic, and use media queries only to refine.

@media

Works in 5 of 21. Not supported in Outlook Classic and Thunderbird. Partial in Gmail, Gmail Android, Gmail iOS and 11 more.

Every client by level
Works
Apple Mail, Apple Mail iOS, HEY Mail, Fastmail, Superhuman
Partial
Gmail, Gmail Android, Gmail iOS, Outlook 365, Outlook (New), Outlook iOS, Outlook Android, Outlook for Mac, Yahoo Mail, Yahoo Mail Android, Yahoo Mail iOS, Samsung Mail, Proton Mail, AOL Mail
Not supported
Outlook Classic, Thunderbird

What to do instead in Outlook Classic

Design mobile-first for clients without media query support

instead
<!-- 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>
Show the original
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>

A free account opens all 21 clients and keeps your checks for 7 days. Create a free account →

Philippe Kam, founder of Emailens · Published 4 Mar 2026 · Updated 28 Oct 2026

@emailens/engine 0.18.22 · data last changed 10 Nov 2026

Part of the HTML email guide · all guides

Making emails look good on mobile isn't as simple as adding a viewport meta tag. Email clients handle responsive design in wildly different ways. Here's what actually works.

Three approaches to responsive email

There are three main strategies, each with different tradeoffs in compatibility and control:

Fluid

Uses percentage-based widths and max-width. Works everywhere, including Gmail's apps reading non-Google accounts, which drop media queries. The safest default approach.

Pros

  • + Universal support
  • + No media queries needed
  • + Simple to implement

Cons

  • - Limited control over breakpoints
  • - Can't completely rearrange layout

Hybrid (spongy)

Combines fluid percentage widths with MSO conditional comments for Outlook fixed widths. Best balance of compatibility and control.

Pros

  • + Works in Outlook + mobile
  • + Good control over widths
  • + Progressive enhancement

Cons

  • - More complex markup
  • - MSO conditionals add code weight

Responsive

Uses @media queries to change layout at breakpoints. Most flexible, but Gmail's apps drop media queries for non-Google accounts.

Pros

  • + Full layout control
  • + Can hide/show elements
  • + Desktop-first or mobile-first

Cons

  • - Gmail apps ignore media queries for non-Google accounts
  • - Requires <style> block support

Media query support across clients

Before choosing an approach, check which clients your audience uses. Here's the current media query support landscape:

Client@media Support
Apple MailFull
iOS MailFull
Outlook.comFull
Outlook (Windows)None
Gmail (Web)Partial (class-based only)
Gmail (Android)Google accounts only
Gmail (iOS)Google accounts only
Yahoo MailFull
Samsung MailFull
ThunderbirdFull

Fluid layout example

The fluid approach is the safest default. It uses percentage widths with max-width, wrapped in MSO conditionals for Outlook's fixed-width requirement:

Fluid layout
32 lines
<!-- Fluid two-column layout -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
  <tr>
    <td style="padding: 0 20px;">

      <!--[if mso]><table role="presentation" width="600" align="center"
        cellpadding="0" cellspacing="0"><tr><td><![endif]-->

      <div style="max-width: 600px; margin: 0 auto;">
        <table role="presentation" width="100%" cellpadding="0" cellspacing="0">
          <tr>
            <!-- Left column: fluid 50% -->
            <td style="width: 50%; padding-right: 10px; vertical-align: top;">
              <img src="image.png" alt="Feature"
                style="max-width: 100%; height: auto;" />
            </td>
            <!-- Right column: fluid 50% -->
            <td style="width: 50%; padding-left: 10px; vertical-align: top;">
              <p style="margin: 0; font-family: Arial, sans-serif;
                font-size: 14px; line-height: 1.6; color: #333;">
                Your content here.
              </p>
            </td>
          </tr>
        </table>
      </div>

      <!--[if mso]></td></tr></table><![endif]-->

    </td>
  </tr>
</table>

Where Outlook Classic fits

Outlook Classic on Windows ignores max-width, which is why the fluid example wraps its container in a 600px table inside <!--[if mso]> comments that only Outlook reads. How those conditional comments work is in Outlook email templates; for columns that stay side by side in Outlook and stack everywhere else, see Outlook ghost tables or the ghost table generator.

Mobile-first vs desktop-first for email

On the web, mobile-first is standard. For email, it depends on your audience:

  • B2C (consumer): mobile-first. Litmus's client data calls mobile the primary reading environment for most subscribers, and Apple clients alone took 76.56% of the opens it tracked in September 2026. Start with a single-column layout that stacks naturally.
  • B2B (enterprise): desktop-first. Outlook on Windows dominates enterprise email, and it doesn't support media queries at all.

Dark mode is a separate job

A layout that adapts to every screen can still break when the reader switches to dark mode: some clients recolour the email themselves, others apply your own prefers-color-scheme styles. That is covered in the dark mode email guide. For the rest of the build, from the skeleton to sending, start at the HTML email guide.

Questions

Why do @media queries fail in Gmail mobile apps?

Across non-Google Workspace accounts and third-party IMAP accounts, the Gmail app for iOS and Android often strips or ignores <style> blocks and @media rules entirely. Building layout structures with fluid hybrid percentages ensures responsive stacking even when media queries are stripped.

What is the difference between fluid and hybrid responsive design?

Fluid layouts use percentage widths (width: 100%; max-width: 600px). Hybrid (spongy) design layers Microsoft MSO ghost tables inside fluid percentage layouts so that Word-based Outlook on Windows gets rigid columns while mobile devices stack freely.

What is the industry standard width for HTML emails?

600 pixels is the universal standard container width. It fits comfortably within desktop webmail preview panes (Gmail, Outlook, Yahoo) without horizontal scrollbars, while adapting cleanly to mobile screens.

Your next question

Also useful: Outlook Ghost Table Generator · Email Rendering Playground · max-width in Outlook Classic: the fix

Paste the email that broke.

The checker needs a computer screen.

Get new email CSS fixes by email, or follow by RSS.