: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
| Client | Category | Engine | Support |
|---|---|---|---|
| Gmail | webmail | Gmail Web | Unsupported |
| Gmail Android | mobile | Gmail Mobile | Unsupported |
| Gmail iOS | mobile | Gmail Mobile | Unsupported |
| Outlook 365 | webmail | Outlook Web | Unsupported |
| Outlook (New) | desktop | Outlook Web | Unsupported |
| Outlook Classic | desktop | Microsoft Word | Unsupported |
| Outlook iOS | mobile | Outlook Mobile | Unsupported |
| Outlook Android | mobile | Outlook Mobile | Unsupported |
| Apple Mail | desktop | WebKit | Supported |
| Apple Mail iOS | mobile | WebKit | Supported |
| Yahoo Mail | webmail | Yahoo | Unsupported |
| Samsung Mail | mobile | Samsung | Supported |
| Thunderbird | desktop | Gecko | Unsupported |
| HEY Mail | webmail | WebKit | Supported |
| Superhuman | desktop | Blink | Unknown |
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 FreeSupport data last updated Apr 27, 2026 · synced from caniemail.com via @emailens/engine.