我正在为移动设备优化 HTML 电子邮件。我的任务是寻找一个通用的解决方案来创建 2 列到 1 列的响应式布局。我发现了一篇由 Campaign Monitor 撰写的文章 - http://www.campaignmonitor.com/guides/mobile/responsive/。我已经尝试过他们的标记,它适用于大多数客户端和浏览器,但 Outlook 2007、2010 和 2013 除外。我提供了带有标记的 jsfiddle 链接以供参考。有没有办法在这些版本的 Outlook 中进行这项工作?
编辑:我不想让电子邮件的响应部分在 Outlook 中工作。我希望 2 个表(jsfiddle 示例中的 Left 和 Right)彼此相邻显示,而不是堆叠在一起。这适用于 Gmail(IE、FF、Chrome、Safari)、AOL(IE、FF、Chrome、Safari)、Yahoo(IE、FF、Chrome、Safari)、Hotmail(IE、FF、Chrome、Safari)、Apple Mail 4 & 5、Outlook 2003、Android 4.0、iOS 4、5 和 6。当渲染引擎发生变化时,我只关心 Outlook 2007 及更高版本。
<html>
<head>
<style>
@media all and (max-width: 590px){
*[class].responsive{ width: 320px !important; }
}
</style>
</head>
<body>
<table width="100%" style="background-color: #000;" align="center" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td height="15"></td>
</tr>
<tr>
<td width="100%">
<table width="560" style="background-color: #fff;" align="center" cellpadding="0" cellspacing="0" class="responsive">
<tbody>
<tr>
<td width="100%">
<table width="280" align="left" cellpadding="0" cellspacing="0" class="responsive">
<tbody>
<tr>
<td width="100%" height="40" style="background-color: #ececec;">
<div height="40" style="font-weight:bold; font-family:Helvetica,sans-serif; text-align:center;">Left (top)</div>
</td>
</tr>
</tbody>
</table>
<table width="280" align="left" cellpadding="0" cellspacing="0" class="responsive">
<tbody>
<tr>
<td width="100%" height="40" style="background-color: #bcbcbc;">
<div height="40" style="font-weight:bold; font-family:Helvetica,sans-serif; text-align:center;">Right (bottom)</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td height="15"></td>
</tr>
</tbody>
</table>
</body>
</html>