Мне поручено создать шаблон для HTML электронной почты. У наших дизайнеров (да благословит их Бог) была прекрасная идея создать фрагмент, где на левой стороне у нас есть текст, а на правой стороне изображение, примерно так:
На мобильном телефоне они хотят, чтобы текст был за изображением, но как мне этого добиться? Я предложил использовать 2 наценки, но клиент этого не хочет. Моя вторая мысль заключалась в том, чтобы использовать атрибут CSS direction
: установить его на rtl, а на мобильном устройстве переключить обратно на ltr, поэтому изменил порядок. Но это не удалось, поскольку 2 элемента рядом друг с другом являются таблицами. Outlook игнорирует display:inline
для таблиц, поэтому, чтобы сделать их рядом друг с другом, я должен использовать align="left"
. Но выравнивание по левому краю перезаписывает мой атрибут direction: rtl
. Кто-нибудь есть идеи?
описанная концепция работает, но не в перспективе, где таблицы показаны друг под другом, так как он игнорирует display:inline
.
(Поскольку мои компоненты принимают до половины пространства в клиентах> шириной 750 пикселей и 100% пространства в клиентах <750 пикселей, мне нужно использовать RTL на рабочем столе и LTR в мобильном. <code>direction:rtl не изменит порядок элементов, накладываемых друг на друга, только рядом друг с другом)
https://codepen.io/hergi/pen/YzPbKzX?editors=1100
<style type="text/css">
.wrapper {
direction: rtl;
}
@media (max-width:749px) {
.wrapper {
direction: ltr !important;
}
}
@media (min-width:750px) {
.wrapper {
direction: rtl !important;
}
}
</style>
<div class="wrapper" style="direction: rtl;">
<table style="display: inline-block;">
<tr>
<td>
<img src="https://kde.org/stuff/clipart/logo/kde-logo-white-blue-rounded-128x128.png" />
</td>
</tr>
</table>
<table style="display: inline-block;">
<tr>
<td>
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/59/Google-Cloud-Storage-Logo.svg/128px-Google-Cloud-Storage-Logo.svg.png" />
</td>
</tr>
</table>
</div>