Оглавление статьи
Почта по-прежнему работает — только теперь люди открывают письма на смартфонах, планшетах и в странных почтовых клиентах на телевизорах. Если ваша рассылка ломается на малом экране, вы теряете внимание и клики. В этой статье я шаг за шагом расскажу, как сделать так, чтобы письмо выглядело аккуратно везде: от мобильных почтовых приложений до суровых десктопных клиентов.
Почему адаптивность в email отличается от веба
Верстка для почты идет своими дорогами и требует старых добрых приёмов: таблицы, инлайн-стили и условные комментарии для Outlook. Браузерные фичи, к которым мы привыкли в вебе, часто работают не в почтовых клиентах или работают по-разному.
Важно понять ограничения: некоторые клиенты блокируют внешние стили, другие не поддерживают media queries, а третьи не умеют отображать фоновые изображения. Поэтому стратегия адаптивности в письмах строится вокруг надежных техник и запасных вариантов.
Основные принципы, от которых стоит отталкиваться
Сделайте письмо понятным без зависимостей от продвинутой CSS-логики. Начните с одноколоночной структуры, используйте гибкие размеры и не полагайтесь на позиционирование с абсолютом — оно ломается чаще всего.
Всегда применяйте инлайновые стили для критичных свойств: шрифтов, размеров и отступов. Внешние стили и style в head полезны для media queries, но не заменят инлайновую защиту для клиентов с урезанным парсингом.
Структура письма: таблицы как основа
Таблицы — это не дань прошлому, а надежный инструмент. Оборачивайте основной контент в таблицу с фиксированной шириной или max-width, чтобы контролировать поведение в старых клиентах.
Используйте role=»presentation» или cellpadding, cellspacing и border=0, чтобы убрать лишние отступы и рамки. Для мобильной адаптивности задайте таблице ширину 100% и ограничение max-width в пикселях для десктопа.
Пример базовой обертки
Ниже показана простая структура контейнера, которая становится основой для адаптивного письма. Код вставляется инлайново, где это необходимо.
Контент
Подходы к адаптивности: media queries и гибридные техники
Самый очевидный путь — использовать media queries для изменения стилей на узких экранах. Однако не все клиенты их поддерживают. Поэтому на практике комбинируют media queries с гибридным (fluid hybrid) подходом.
Гибридная верстка строит макет, который изначально гибок, а media queries служат для доработки. Такой подход дает запасной вариант для клиентов без поддержки запросов по медиa.
Media queries: как и где применять
Поместите медиазапросы в в head письма и используйте минималистичные селекторы, ориентированные на элементы с классами. Сосредоточьтесь на ключевых изменениях: ширина колонок, размер шрифта, скрытие второстепенного контента.
Пример: переключение двух колонок в одну на экранах до 480px. Но помните, Gmail раньше игнорировал стили в head — сейчас поддержка лучше, но все равно стоит рассчитывать на запасной план.
Гибридная (fluid) верстка: как она работает
Гибридный метод использует проценты и максимальные ширины в сочетании с «мягкими» ячейками таблиц. Контент адаптируется под доступную ширину, а не ломается при пересечении порога. Это отличный выбор, если вы хотите минимизировать зависимость от медиазапросов.
Ключевые приёмы: задавайте ширины колонок в процентах, используйте max-width для изображений и применяйте display:block для картинок, чтобы исключить побочные отступы.
Изображения и медиа: как сделать их отзывчивыми
Большие изображения — частая причина разрывов верстки. Задавайте width:100% и height:auto, чтобы картинка сжималась вместе с контейнером. Также обязательно указывайте атрибуты width и height в HTML для плавной загрузки.
WebP и современные форматы помогают снизить вес, но некоторые клиенты пока не поддерживают их. Для таких случаев сохраняйте fallback в формате JPEG или PNG и используйте корректный alt-текст.
Кнопки и кликабельные элементы: удобство на тач-экранах
Кнопки должны быть удобными для пальца: минимальный размер 44×44 пикселя, контрастный фон и достаточные отступы вокруг. Лучше делать кнопки реальными ссылками в таблицах, чтобы клиенты корректно обрабатывали клики.
Избегайте сложных CSS-трюков для стилей кнопок, если их поддержка ограничена. Простая таблица с фоном и ссылкой внутри работает в большинстве случаев.
Outlook — особая вселенная: conditional comments и VML
Outlook на Windows использует движок Word, поэтому многие CSS-правила там не работают. Чтобы письмо красиво отображалось в Outlook, используйте условные комментарии . В них можно вставлять отдельные таблицы и стили.
Для фоновых изображений применяйте VML-блоки — это древний, но надежный способ показать картинку в Outlook, когда стандартный background-image не срабатывает.
Пример условного блока для Outlook
Небольшой пример условного HTML для бэкграунда в Outlook поможет понять, как подстроиться под этого клиента.
Контент поверх фона
Типографика и читаемость на мобильных экранах
Для удобства чтения увеличьте базовый размер шрифта до 14–16px на мобильных устройствах. Следите за межстрочным интервалом и длиной строк: оптимальная ширина строки — 45–75 символов, поэтому учитывайте это при расчете колонок.
Встраиваемые веб-шрифты поддерживаются не везде. Сделайте резервные варианты установленными шрифтами и избегайте декоративных семей, от которых зависит смысл или восприятие текста.
Доступность: мелкие, но важные детали
Добавьте альтернативный текст для изображений, указывайте явные описания для ссылок и используйте заголовки структурно. Для пользователей, которые читают рассылки с экранными читалками, важна логичная последовательность элементов.
Цвета должны иметь достаточный контраст, а кликабельные элементы — удобный размер. Простая проверка с эмулятором контрастности и клавиатурой поможет найти слабые места.
Инструменты верстки: что стоит использовать
Есть набор утилит и фреймворков, которые значительно ускоряют работу. MJML превращает упрощенную разметку в сложный, кросс-клиентный HTML. Foundation for Emails предлагает шаблоны и компоненты, адаптированные под разные клиенты.
Нельзя забывать и про инлайн-инг: большинство сборок включают шаг, который переносит стили внутрь элементов. Это экономит время и убирает человеческие ошибки при ручном инлайне.
- MJML — препроцессор для email, упрощает структуру и генерирует совместимый код.
- Foundation for Emails — набор компонентов и шаблонов для быстрого старта.
- HTML-инлайнеры и gulp-плагины — автоматизируют подготовку письма к рассылке.
Рабочий процесс: от макета до отправки
Соберите макет в Figma или Sketch, экспортируйте картинки и подготовьте стили. Затем верстайте письмо, применяя инлайн-стили и контролируя структуру через таблицы.
После верстки прогоните письмо через инструменты тестирования, внесите правки под проблемные клиенты и только затем отправляйте. Такой подход экономит время и уменьшает количество переделок после первого запуска.
Тестирование на устройствах: как проверить результат
Тестирование — не формальность. Нужны проверки на реальных устройствах и в популярных почтовых клиентах. Эмуляторы полезны, но иногда только реальное устройство покажет проблему.
Инструменты вроде Litmus и Email on Acid позволяют увидеть превью в десятках клиентов одновременно. Также важно проводить ручную проверку: открыть письмо на Android, iOS, в Outlook, веб-версии Gmail и Yahoo.
Чеклист для тестирования
Короткий, но эффективный чеклист поможет ничего не пропустить перед отправкой. Выполняйте эти пункты последовательно, чтобы минимизировать риски.
- Проверить отображение в мобильных и десктопных клиентах.
- Проверить кликабельность ссылок и работу кнопок.
- Убедиться, что изображения загружаются и имеют alt-текст.
- Проверить работу условных блоков в Outlook.
- Измерить скорость загрузки и общий вес письма.
Примеры реальных шаблонов и паттернов
Ниже приведены несколько простых паттернов, которые можно сразу использовать: одноколоночный блок, блок с изображением и текстом, и карточки товаров. Эти примеры подходят для большинства рассылок и легко адаптируются.
Показывая рабочие примеры, легче понять, как комбинировать техники: таблицы для каркаса, проценты для гибкости и media queries для мелких доработок.
Простой одноколоночный шаблон
Он идеально подходит для новостей и писем с основным сообщением. Такой формат гарантирует предсказуемое поведение на маленьких экранах.
Заголовок
Текст письма...
Карточки товаров: как сделать сетку, которая становится колонкой
Сетка карточек — частая задача. Делайте их в таблицах с процентной шириной, и добавьте медиазапрос для перевода в одну колонку на узких экранах. Это поможет избежать наложений и маленьких картинок.
Для каждой карточки используйте отдельную ячейку таблицы, где изображение выше, а описание и кнопка располагаются ниже. Такой порядок гарантирует читаемость при стеке на мобильных устройствах.
Таблица поддержки ключевых фич
Ниже простая таблица, которая показывает, какие приемы работают в основных клиентах. Это не исчерпывающий реестр, но ориентир при выборе тактики.
| Фича | Gmail (моб/веб) | Outlook (Windows) | Apple Mail |
|---|---|---|---|
| Media queries | Хорошо/Хорошо | Плохо | Хорошо |
| Background-image | Ограничено | Требует VML | Хорошо |
| Web fonts | Частично | Плохо | Хорошо |
Оптимизация и производительность
Вес письма влияет на загрузку и на скорость отображения изображений. Оптимизируйте медиа: используйте современные форматы с резервом и сжимайте графику до приемлемого качества. Избегайте тяжёлых анимаций и inline SVG там, где поддержка неполна.
Минимизируйте количество внешних запросов: трекеры, шрифты и внешние скрипты увеличивают время загрузки и могут быть заблокированы. Чем проще структура, тем стабильнее результат в разных клиентах.
Распространённые ошибки и как их избежать
Одна из типичных ошибок — полагаться только на web-стили без инлайна. Другой промах — использование абсолютных размеров для всех элементов, что ломает верстку на маленьких экранах.
Избегайте сложных флоатов и абсолютного позиционирования. Перед отправкой всегда тестируйте на реальных устройствах и не пренебрегайте резервными стилями для клиентов с урезанной поддержкой CSS.
Автоматизация и интеграция в рабочие процессы
Встраивайте проверку писем в CI: линтеры, автоматический инлайн и тестовый прогон через API сервисов превью ускорят выпуск. Это особенно важно для больших команд, где ошибки одного письма стоят времени всем участникам.
Используйте шаблонные движки для генерации контента и переменных, но проверяйте итоговый HTML перед отправкой. Автоматизация не заменит ручное тестирование, но сократит рутинные задачи.
Как учиться на примерах и практике
Разбирайтесь в исходниках популярных сервисов рассылок и сохраняйте рабочие шаблоны. Анализ реальных писем помогает понять, какие приёмы работают чаще всего и почему некоторые решения оказываются ненадёжными.
Коллекция примеров и небольших шаблонов в вашем репозитории экономит часы работы. Собирайте вариации для разных типов писем: промо, триггерные уведомления, транзакционные письма.
Контроль качества после отправки: метрики и обратная связь
Следите за открываемостью, кликабельностью и показателями отказов. Поведенческие метрики укажут, где теряется внимание: проблема может быть в верстке, размере письма или неудачном промежуточном тексте.
Запрашивайте обратную связь у пользователей и тестируйте изменения A/B. Маленькие корректировки в структуре и текстах часто дают больший эффект, чем сложные технические эксперименты.
Небольшие, но полезные советы
Всегда заполняйте preheader — это первое, что видят на мобильных экранах. Устанавливайте fallback-цвета и простые альтернативы для интерактивных элементов.
Старайтесь держать общую ширину письма в пределах 600–680px для десктопа и % для мобильных. Такой баланс дает предсказуемость и удобство.
Если вы только начинаете, начните с одноколоночной адаптивной структуры и протестируйте её в нескольких клиентах. Добавляйте сложности постепенно: сначала изображения и кнопки, затем карточки и фоновые блоки. Так вы будете понимать, какой приём где ломается и как поправить ситуацию.
Адаптивная верстка email — это одновременно искусство компромиссов и инженерный подход. Сочетание надежных таблиц, гибких размеров и аккуратно использованных медиазапросов дает наилучший результат. Используйте проверенные инструменты верстки, регулярно проводите тестирование на устройствах и собирайте примеры рабочих шаблонов — это позволит создавать письма, которые читаются и конвертируют на любых экранах.
