Skip to main content
Pseudo-Classes & Selectors

:has

selector or pseudo-class · 4 supported, 0 partial, 10 unsupported across 15 clients

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
Apple MaildesktopWebKitSupported
Apple Mail iOSmobileWebKitSupported
Yahoo MailwebmailYahooUnsupported
Samsung MailmobileSamsungSupported
ThunderbirddesktopGeckoUnsupported
HEY MailwebmailWebKitSupported
SuperhumandesktopBlinkUnknown

Client-by-client behaviour for :has

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

No support (10): Gmail, Gmail Android, Gmail iOS, Outlook 365, Outlook (New), Outlook Classic, Outlook iOS, Outlook Android, Yahoo Mail, Thunderbird. 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.

Yahoo Mail

Unsupported

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

Thunderbird

Unsupported

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

Related Features

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