CSS для Email-рассылок: особенности и ограничения

Почему CSS в email — это квест на выживание? 🏋️

Веб и email — два разных мира. В браузере ты король: Flexbox, Grid, анимации, переменные. В email-рассыпках — словно вернулся в 2005 год: таблицы, инлайновые стили и молитвы, чтобы всё отобразилось в Outlook.

Главный принцип:

В email-дизайне ты не пишешь CSS — ты договариваешься с почтовыми клиентами.


🔧 Что поддерживают почтовые клиенты?

Сводка поддержки CSS (актуально на 2024 год):

Свойство Gmail Outlook Apple Mail Yahoo
margin/padding ✔️ ⚠️ ✔️ ✔️
background-image ✔️
flexbox/grid ✔️
@media ⚠️ ✔️

⚠️ Outlook использует движок Word (!) для рендеринга писем. Да-да, того самого Word из 2003 года.


💡 4 золотых правила email-верстки

1. Таблицы вместо div

Почтовые клиенты любят таблицы как в 90-е. Даже кнопку лучше завернуть в <table>.

<table align="center" cellpadding="0" cellspacing="0" role="presentation">
  <tr>
    <td style="background: #FF6B6B; padding: 12px 24px; border-radius: 4px;">
      <a href="#" style="color: white; text-decoration: none;">Купить сейчас</a>
    </td>
  </tr>
</table>

2. Инлайновые стили — обязательно

<style> в <head> сработает только в Apple Mail. Все стили пиши прямо в тегах:

<p style="font-family: Arial, sans-serif; font-size: 16px; color: #333;">
  Текст письма
</p>

3. Ширина = 600–800px

Идеальный диапазон для большинства клиентов. Больше — будет обрезаться, меньше — выглядеть как SMS 2000-х.

4. Тестируй, тестируй, тестируй

Используй сервисы вроде Litmus или Email on Acid. Данила Бежин как-то сказал: «Письмо, не протестированное в Outlook, — билет в один конец в спам».


🎨 Как добавить красоты без CSS3?

Градиенты

Только фоновые картинки (и то не везде). Альтернатива — «полоска» с градиентом, вставленная как <img>.

Анимации

Забудь. Максимум — GIF (но Outlook покажет только первый кадр).

Кастомные шрифты

Работают в Apple Mail, но в Gmail и Outlook — нет. Всегда добавляй fallback:

<p style="font-family: 'Helvetica Neue', Arial, sans-serif;">
  Текст с запасным вариантом
</p>

📱 Адаптивность в email

Медиа-запросы поддерживают только Apple Mail и некоторые мобильные клиенты.

Хак: Используй «резиновые» таблицы с width="100%" и max-width:

<table width="100%" style="max-width: 600px;">
  <tr>
    <td>Это подстроится под экран</td>
  </tr>
</table>

💥 Пример: Верстаем email-шаблон

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Промо-письмо</title>
</head>
<body style="margin: 0; padding: 0; font-family: Arial, sans-serif;">
  <!-- Обертка -->
  <table align="center" width="100%" style="max-width: 600px;">
    <tr>
      <td style="padding: 20px; text-align: center;">
        <!-- Лого -->
        <img src="logo.png" alt="Логотип" style="max-width: 200px;">

        <!-- Заголовок -->
        <h1 style="color: #2C3E50;">Специальное предложение!</h1>

        <!-- Кнопка -->
        <table align="center" cellpadding="0" cellspacing="0" style="margin: 20px 0;">
          <tr>
            <td style="background: #3498DB; border-radius: 5px;">
              <a href="#" style="color: white; text-decoration: none; display: block; padding: 12px 24px;">Получить скидку</a>
            </td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
</body>
</html>

🔮 Будущее email-верстки

CSS-переменные уже тестируются в Apple Mail. Dark Mode поддерживается через медиа-запросы (@media (prefers-color-scheme: dark)). Но пока главное правило остаётся прежним:

Сначала стабильность, потом креатив.

Совет от Данилы Бежина: «Если хочешь проверить, насколько адски твой email-код — открой его в Outlook 2013. Выживет — значит, ты мастер» 😈.

Теперь ты готов покорять инбоксы! Пиши код, тестируй, и пусть письма всегда попадают во «Входящие».

Скрыть рекламу навсегда

📘 VK Видео — обучение без ограничений

Все уроки доступны без VPN, без блокировок и зависаний.

Можно смотреть с телефона, планшета или компьютера — в любое время.

▶️ Смотреть на VK Видео