Skip to main content

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

Emailens

Yahoo Mail iOS email CSS: what breaks, and what to write instead

120 of 300 features work in Yahoo Mail iOS · 28 partial · 150 not supported · 2 untested. Of the 150 not supported, 16 work in at least 14 of the other 20 clients.

Works 120 · Partial 28 · Not supported 150 · Untested 2 · of 300

Yahoo · mobile · prefers-color-scheme: not supported

The checker needs a computer screen.

See what breaks ↓

Yahoo Mail iOS opens with a free account.

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

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

What Yahoo Mail iOS rewrites

Yahoo Mail iOS changes some CSS rather than dropping it, so the email can render differently from what the code says. The engine's notes for this app:

  • <base>

    Buggy. The element is removed but URLs are turned into links with href attribute.

  • <video>

    <video>, <source> and <track> tags are stripped. The fallback content is shown instead.

  • [target]

    Not supported. target="_blank" is forced on all links.

  • !important

    Partial. Removed if there is no space before when used with a background-image property. (See email-bugs#16)

  • background

    Partial. Does not support multiple values. The comma between two values is removed.

  • background-image

    Partial. Does not support multiple values. The comma between two values is removed.

  • background-position

    Partial. Does not support multiple values. The comma between two values is removed.

  • background-repeat

    Partial. Does not support multiple values. The comma between two values is removed.

All 18
  • background-size

    Partial. Does not support multiple values. The comma between two values is removed.

  • css-comments

    Buggy. The first <head> in the HTML is removed, so comment needs to be in the <style> tag of a second <head> element.

  • height

    Buggy. Replaces height by min-height.

  • html5-semantics

    Unsupported opening and closing tags are stripped.

  • nesting

    Not supported. The nested selectors are removed, making the nested properties apply to the parent selector.

  • pseudo-class-nth-last-of-type

    Not supported. Removes the parenthesis part.

  • text-justify

    Buggy. text-justify is stripped

  • :nth-child

    Not supported. Removes the parenthesis part.

  • :nth-last-child

    Not supported. Removes the parenthesis part.

  • :nth-of-type

    Not supported. Removes the parenthesis part.

Yahoo Mail iOS against Yahoo Mail Android

They give the same answer on 284 of the 297 features both are tested on. Where they split:

Yahoo Mail iOS against Yahoo Mail

They give the same answer on 282 of the 298 features both are tested on. Where they split:

How Yahoo Mail iOS renders email

Yahoo Mail iOS is the Yahoo app on iOS. It shares the Yahoo engine with Yahoo Mail on the web and on Android: it keeps a <style> block, but rewrites much of the CSS inside it on the way in. It does not support @font-face or @media (prefers-color-scheme), and its media queries are limited to screen, min-width, max-width, min-height and max-height.

font-weight
Only the round values 100, 200, 300, 400, 500, 600, 700, 800 and 900 apply. A value such as 650 does not.
height
Rewritten to min-height, so a box can grow past the height you set.
nesting
Nested selectors are removed and their properties apply to the parent selector.
:nth-child and :nth-of-type
The part in parentheses is removed.
Forms
A text field and a <textarea> are supported, but <form>, <select> and submit buttons are not. Yahoo Mail Android is the reverse.

Where Yahoo Mail iOS is the outlier

16 features work in at least 14 of the other 20 clients and are not supported here.

So an email that looks right in most clients can reach your reader in Yahoo Mail iOS without them.

All 16

What to write instead

11 features Yahoo Mail iOS does not fully support have a written fix. See them in the table ↓

box-sizing

The fix for Yahoo Mail iOS

Account for padding in width manually (no box-sizing)

after
<div style="width: 300px;">
  <div style="padding: 20px;">
    Content; padding on inner element
  </div>
</div>
Show the original
before
<div style="width: 300px; padding: 20px;
            box-sizing: border-box;">
  Content; total width stays 300px
</div>

The checker needs a computer screen.

<form>

The fix for Yahoo Mail iOS

Replace embedded form with a link to a hosted form

after
<table role="presentation" cellpadding="0" cellspacing="0">
  <tr>
    <td style="background-color: #6d28d9; border-radius: 6px;
               padding: 12px 32px;">
      <a href="https://example.com/subscribe"
        style="color: #fff; text-decoration: none;
               font-family: Arial, sans-serif;
               font-weight: bold;">
        Subscribe Now
      </a>
    </td>
  </tr>
</table>
Show the original
before
<form action="/subscribe" method="POST">
  <input type="email" placeholder="Email" />
  <button type="submit">Subscribe</button>
</form>

The checker needs a computer screen.

gap

The fix for Yahoo Mail iOS

Use padding or margin on child elements instead of gap

after
<table role="presentation" cellpadding="0"
  cellspacing="0" border="0">
  <tr>
    <td style="padding-right: 16px;">Item 1</td>
    <td style="padding-right: 16px;">Item 2</td>
    <td>Item 3</td>
  </tr>
</table>
Show the original
before
<div style="display: flex; gap: 16px;">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
</div>

The checker needs a computer screen.

Paste your email and see what Yahoo Mail iOS does to it.

The checker needs a computer screen.

Dark mode in Yahoo Mail iOS

Before you send to Yahoo Mail iOS

  • Use round font weights such as 400 and 700.
  • Keep selectors flat in the <style> block: no nesting, no :nth-child.
  • Supply a complete system font stack: web fonts never load.

Every feature in Yahoo Mail iOS

Show all 300
Show

HTML Elements · 20 of 48 not supported or partial here

HTML Attributes · 14 of 22 not supported or partial here

HTML & Email Structure · 3 of 8 not supported or partial here

CSS At-Rules · 9 of 10 not supported or partial here

Pseudo-Elements · 2 of 6 not supported or partial here

Pseudo-Classes & Selectors · 8 of 34 not supported or partial here

CSS Functions · 8 of 8 not supported or partial here

CSS Properties · 114 of 164 not supported or partial here

Get new email CSS fixes by email.

caniemail (MIT) via @emailens/engine 0.18.22 · data last changed 10 Nov 2026