Skip to main content
Emailens
Pseudo-Classes & Selectors

:has

selector or pseudo-class · 5 supported, 0 partial, 15 unsupported across 21 clients

As of Oct 14, 2026, :has fails or degrades in 16 of 21 email clients, treat it as progressive enhancement, never structure.

  • 2/7 webmail, 1/6 desktop, 2/8 mobile clients support :has fully.
  • Unsupported in Gmail, Gmail Android, Gmail iOS, Outlook 365 and 11 more.
  • Outlook Classic (Word engine, supported to at least 2029) does not fully support :has, and its replacement changes little here; see the deprecation diff.
  • 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 Mar 15, 2022, synced by Emailens Oct 14, 2026.

The :has pseudo-class selects elements that contain a descendant matching a sub-selector. It is one of the newest CSS features and email support is limited, Apple Mail and modern Gmail support it in modern engine versions, while Outlook and most others ignore it. It is best treated as progressive enhancement.

Client Support

ClientCategoryEngineSupport
GmailwebmailGmail WebUnsupported
Gmail AndroidmobileGmail MobileUnsupported
Gmail iOSmobileGmail MobileUnsupported
Outlook 365webmailOutlook WebUnsupported
Outlook (New)desktopOutlook WebUnsupported
Outlook ClassicdesktopMicrosoft WordUnsupported
Outlook iOSmobileOutlook MobileUnsupported
Outlook AndroidmobileOutlook MobileUnsupported
Outlook for MacdesktopWebKitUnsupported
Apple MaildesktopWebKitSupported
Apple Mail iOSmobileWebKitSupported
Yahoo MailwebmailYahooUnsupportedSee caveat 1
Yahoo Mail AndroidmobileYahooUnsupported
Yahoo Mail iOSmobileYahooUnsupported
Samsung MailmobileSamsungSupported
ThunderbirddesktopGeckoUnsupported
HEY MailwebmailWebKitSupported
Proton MailwebmailProtonUnsupported
AOL MailwebmailAOLUnsupportedSee caveat 1
FastmailwebmailFastmailSupported
SuperhumandesktopBlinkUnknown

Documented caveats (1)

  1. 1.Yahoo Mail, AOL Mail: Not supported. :has(…) is replaced by :has.

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

Client-by-client behaviour for :has

Fully supports :has (5): Apple Mail, Apple Mail iOS, Samsung Mail, HEY Mail, Fastmail.

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

Behaviour unverified in: Superhuman.

When to use :has in email

  • Styling cards differently when they contain an image versus text-only content.
  • Adjusting list item spacing based on whether a parent contains nested lists.
  • Conditional styling in modern-client-targeted designs.

Rendering behaviour and edge cases

  • Outlook on Windows ignores :has entirely.
  • Apple Mail supports :has on macOS Ventura+ and iOS 16+.
  • Gmail Web honors :has only when <style> blocks survive sanitization.

Recommended fallback strategy

Provide a default styling that works without :has, then use :has selectors for refinements. Never rely on :has to deliver structural visibility, fall back to explicit class-based styling as the baseline.

Fixes & Workarounds

Gmail

Unsupported

":has" is not supported in this email client.

Gmail Android

Unsupported

":has" is not supported in this email client.

Gmail iOS

Unsupported

":has" is not supported in this email client.

Outlook 365

Unsupported

":has" is not supported in this email client.

Outlook (New)

Unsupported

":has" is not supported in this email client.

Outlook Classic

Unsupported

":has" is not supported in this email client.

Outlook iOS

Unsupported

":has" is not supported in this email client.

Outlook Android

Unsupported

":has" is not supported in this email client.

Outlook for Mac

Unsupported

":has" is not supported in this email client.

Yahoo Mail

Unsupported

":has" is not supported in this email client.

Yahoo Mail Android

Unsupported

":has" is not supported in this email client.

Yahoo Mail iOS

Unsupported

":has" is not supported in this email client.

Thunderbird

Unsupported

":has" is not supported in this email client.

Proton Mail

Unsupported

":has" is not supported in this email client.

AOL Mail

Unsupported

":has" is not supported in this email client.

Related Features

Check your own HTML for :has

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

Zero-Friction Engine Preview

Test your :has layout across 21 email clients

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