html - HTML EMAIL - 反转全宽表格列
问题描述
我有这个电子邮件模板,我想将移动模式下的布局从上面的图像更改为如下所示:
现在的问题是,有些行已经反转了 tds,我想反转它们,作为一个电子邮件 html 模板,我不能使用有用的显示 FLEX,因为 Outlook 的大量使用和现代 css 属性的不受支持的功能。
我怎样才能在多行的 seocond 图像中实现它?我现在只有这个:
我试过使用 dir="rtl" & dir="ltr" 但它不起作用
<tr mc:hideable>
<td>
<table width="100%" class="templateColumns ">
<tr>
<td align="right" valign="top" width="50%" class="templateColumnContainer">
<table class="textColumn" width="100%">
<tr>
<td align="center" valign="top" style="padding-top:10px;padding-bottom:0px;" class="textColumnContent" mc:label="left_column_text_1" mc:edit="left_column_text_1">
<h2>Column</h2>
<p>Lorem ipsum dolor sit amet.</p>
</td>
</tr>
</table>
</td>
<td align="center" valign="top" width="50%" class="templateColumnContainer">
<table border="0" cellspacing="0" width="100%">
<tr>
<td>
<img src="https://via.placeholder.com/282x200" style="max-width:282px" class="columnImage" mc:label="right_column_image_1" mc:edit="right_column_image_1" mc:allowdesigner="" alt="282x200">
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<!-- END IMAGE COLUMN RIGHT BLOCK // -->
<!-- BEGIN IMAGE COLUMN LEFT BLOCK // -->
<tr mc:hideable>
<td>
<table width="100%" class="templateColumns">
<tr>
<td align="center" valign="top" width="50%" class="templateColumnContainer">
<table border="0" cellspacing="0" width="100%">
<tr>
<td>
<img src="https://via.placeholder.com/282x200" class="templateImage" mc:label="left_column_image_2" mc:edit="left_column_image_2" alt="282x200">
</td>
</tr>
</table>
</td>
<td align="center" valign="top" width="50%" class="templateColumnContainer">
<table class="textColumn3" width="100%">
<tr>
<td align="center" valign="top" style="padding-top:10px;padding-bottom:0px;" class="textColumnContent" mc:label="right_column_text_2" mc:edit="right_column_text_2">
<h2>Column</h2>
<p>Lorem ipsum dolor sit amet.</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
工作示例:
解决方案
您可以使用 CSSdirection
属性执行此操作。但诀窍是让您的 HTML 代码代表您希望在移动设备上显示的内容的顺序。所以如果你想要你的图像首先和你的文本第二,那么你的 HTML 需要是这样的:
<table>
<tr>
<td><img src="…" alt="" /></td>
<td>Text</td>
</tr>
</table>
<table>
<tr>
<td><img src="…" alt="" /></td>
<td>Text</td>
</tr>
</table>
然后,如果要反转桌面上第一个表格的显示,则需要direction:rtl
在该表格上添加,然后direction:ltr
在该表格的<td>
s 上添加,以确保您的内容不受影响。你最终会得到这样的东西:
<table style="direction:rtl;">
<tr>
<td style="direction:ltr;"><img src="…" alt="" /></td>
<td style="direction:ltr;">Text</td>
</tr>
</table>
<table>
<tr>
<td><img src="…" alt="" /></td>
<td>Text</td>
</tr>
</table>
然后媒体查询中的样式可以应用于s,display:block
从而使属性<td>
的效果无效。direction
<style>
@media only screen and (max-width: 480px) {
td {
display:block !important;
width:100% !important;
}
}
</style>
这是基于您的应用此解决方案的更新的 JSFiddle:https ://jsfiddle.net/3s8L7h2n/5/
推荐阅读
- azure - Azure APIM - 如何使用 context.Request.Certificate.Verify() 验证客户端证书
- bash - Bash - 如何在单引号内解释“\”和换行符?
- android - 绘制基本三角形时的拼图效果
- css - 如何通过 Webpack 管道在 React 应用程序中正确加载 .otf/.tff 字体?
- r - 错误:dyn.load(file, DLLpath = DLLpath, ...) 中的“gmm”的包或命名空间加载失败:无法加载共享对象
- android - 错误:未找到样式属性“attr/colorPrimary”
- bash - 为什么我不能在 minikube ssh 中使用命令历史记录
- javascript - 如何动态访问 formControl 名称?
- c# - 从内联 MailItem.Attachment 解码 CID
- coldfusion - Coldfusion - 重新启动服务后在组件中找不到方法