Skip to main content

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

Emailens

Selector or pseudo-class · data last changed 10 Nov 2026

:hover in email clients

Works in 12 of 21. Not supported in Gmail iOS, Outlook Classic, Outlook iOS and 1 more. Partial in Gmail Android, Outlook 365, Outlook (New) and 1 more. Untested in Superhuman.

Safe to leave in: where it is not supported, the email renders the same.

caniemail (MIT) via @emailens/engine 0.18.22

What to do instead in Outlook Classic

Treat :hover purely as enhancement. The base CTA must look complete and tappable without any hover state. Inline the static appearance and use <style> blocks only for the hover overlay.

There is no drop-in fix for :hover in Outlook Classic. Design so the email still reads without it.

The checker needs a computer screen.

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

Every account includes one free real-device check in classic Outlook, Outlook for Mac and Apple Mail, after you verify your email and run one preview, while this month's free capacity lasts. How real-device checks work →

:hover is not among the 24 features we have screenshotted on real installs. The ones we have →

All 21 clients, problems first

ClientSupport
Gmail iOS Not supported
Outlook Classic Not supported
Outlook iOS Not supported
AOL Mail Not supported
Gmail Android Partial See caveat 1
Outlook 365 Partial See caveat 2
Outlook (New) Partial See caveat 2
Outlook for Mac Partial See caveat 2
Superhuman Untested
Works in 12: Gmail, Outlook Android, Apple Mail and 9 more. Show all
ClientSupport
Gmail Works
Outlook Android Works
Apple Mail Works
Apple Mail iOS Works
Yahoo Mail Works
Yahoo Mail Android Works
Yahoo Mail iOS Works
Samsung Mail Works
Thunderbird Works
HEY Mail Works
Proton Mail Works
Fastmail Works

Caveats (2)

  1. 1. Gmail Android: Partial. Not supported with non Google accounts.
  2. 2. Outlook 365, Outlook (New), Outlook for Mac: Partial. Only supported on type selectors.

Caveats as recorded by caniemail (MIT), one entry per wording.

How :hover behaves

The :hover pseudo-class applies styles when the user points at an element. It only works in clients that render <style> blocks, since inline styles cannot express pseudo-classes. Outlook Classic ignores :hover entirely; most webmail clients honor it, with mobile clients being a no-op (no hover surface).

  • Outlook Classic strips <style> blocks and ignores :hover.
  • Gmail honors :hover when <style> blocks are preserved (which depends on sanitization rules).
  • Mobile clients have no hover surface, :hover is effectively a no-op.

Your next question

Every feature in Outlook Classic · All email CSS features · What real installs show

Get new email CSS fixes by email.

caniemail (MIT) via @emailens/engine 0.18.22 · tested upstream 23 Oct 2019 · data last changed 10 Nov 2026 · Outlook (New) cells are the engine's mapping