Это решение основано на CSS. JavaScript не будет работать в электронной почте, так как он отключается и отключается большинством почтовых клиентов.
Этот ответ основан на использовании шаблона электронной почты, Cerberus. Хотя вы могли бы использовать его в любом адаптивном современном шаблоне электронной почты, я полагаю.
Вам понадобятся несколько классов таблиц стилей в запросе @media
, таблица для работы в качестве контейнера, а затем таблица из трех столбцов.
Таблица стилей:
<style>
@media screen and (max-width: 600px) {
.email-container {
width: 100% !important;
margin: auto !important;
}
.stack-column-center {
display: block !important;
width: 100% !important;
max-width: 100% !important;
direction: ltr !important;
float: left !important;
}
.stack-column-center-50 {
width: 50% !important;
max-width: 50% !important;
direction: ltr !important;
display: inline-block;
}
}
</style>
HTML код:
<table align="center" role="presentation" cellspacing="0" cellpadding="0" border="0" width="600" style="margin: 0 auto;" class="email-container">
<tr>
<td valign="top" style="padding: 10px; background-color: #ffffff;">
<table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%" style="outline: 1px solid #f00;">
<tr>
<!-- Column : BEGIN -->
<td width="33.33%" class="stack-column-center-50">
<table role="presentation" cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="padding: 10px; text-align: center">
<img src="https://via.placeholder.com/170" width="170" height="170" alt="alt_text" border="0" class="fluid" style="height: auto; background: #dddddd; font-family: sans-serif; font-size: 15px; line-height: 15px; color: #555555;">
</td>
</tr>
<tr>
<td style="font-family: sans-serif; font-size: 15px; line-height: 20px; color: #555555; padding: 0 10px 10px; text-align: left;" class="center-on-narrow">
<p style="margin: 0;"><strong>Column 1</strong><br />Maecenas sed ante pellentesque, posuere leo id, eleifend dolor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.</p>
</td>
</tr>
</table>
</td>
<!-- Column : END -->
<!-- Column : BEGIN -->
<td width="33.33%" class="stack-column-center-50">
<table role="presentation" cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="padding: 10px; text-align: center">
<img src="https://via.placeholder.com/170" width="170" height="170" alt="alt_text" border="0" class="fluid" style="height: auto; background: #dddddd; font-family: sans-serif; font-size: 15px; line-height: 15px; color: #555555;">
</td>
</tr>
<tr>
<td style="font-family: sans-serif; font-size: 15px; line-height: 20px; color: #555555; padding: 0 10px 10px; text-align: left;" class="center-on-narrow">
<p style="margin: 0;"><strong>Column 2</strong><br />Maecenas sed ante pellentesque, posuere leo id, eleifend dolor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.</p>
</td>
</tr>
</table>
</td>
<!-- Column : END -->
<!-- Column : BEGIN -->
<td width="33.33%" class="stack-column-center">
<table role="presentation" cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="padding: 10px; text-align: center">
<img src="https://via.placeholder.com/170" width="170" height="170" alt="alt_text" border="0" class="fluid" style="height: auto; background: #dddddd; font-family: sans-serif; font-size: 15px; line-height: 15px; color: #555555;">
</td>
</tr>
<tr>
<td style="font-family: sans-serif; font-size: 15px; line-height: 20px; color: #555555; padding: 0 10px 10px; text-align: left;" class="center-on-narrow">
<p style="margin: 0;"><strong>Column 3</strong><br />Maecenas sed ante pellentesque, posuere leo id, eleifend dolor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.</p>
</td>
</tr>
</table>
</td>
<!-- Column : END -->
</tr>
</table>
</td>
</tr>
</table>
Я протестировал это в Litmus, и оно работает в каждом почтовом клиенте в стиле рабочего стола и в мобильных клиентах, которые поддерживают запросы @media
. Если вы загружаете Cerberus, все, что вам нужно сделать, это сделать два изменения, добавить класс .stack-column-center-50
, скопировать таблицу и вставить ее в таблицу тела письма. Кроме добавления столбцов 1, 2, 3 в таблицы, я не внес никаких других изменений.
Шаблон Цербера:
https://tedgoas.github.io/Cerberus/
Редактировать : Вы можете объединить значения col-xs-6
и col-sm-4
в новый тег для col-xs-6
с разрешением 600 пикселей. Или создайте новый тег, если вы хотите сохранить работу текущих классов. Мой пример все еще будет работать с новыми именами.
Удачи.