【发布时间】:2019-01-22 14:37:25
【问题描述】:
我已经开发了一个 HTML 电子邮件模板,并且还有 2 列设计。在我的情况下,一列是图像,另一列是文本,此外,文本由标题和段落组成。由于所有样式都是内联的,所以我在不同的屏幕上都面临问题。
图片一是普通屏幕:
图2是大屏的:
所以一切都与字体有关如果我减少字体,它在某些设备上会显示得非常小,如果我增加字体,两列设计就会中断。
这是我的代码:
<table border="0" cellpadding="0" cellspacing="0" width="960" align="left" style="width: 960px; width: calc(100%); max-width: 960px; background-color: #301f0d; color:#fff;" >
<tr>
<td style="margin: 0px; padding: 0; text-align: center;">
<div style="margin:0; max-width:960px; min-width:260px;">
<div style="text-align:center; font-size:0;">
<!--Left column-->
<div style="display:inline-block; font-size: 16px; text-align:center; vertical-align:top; width:50%; min-width:120px; max-width:100%; width:-webkit-calc(230400px - 48000%); min-width:-webkit-calc(50%); width:calc(230400px - 48000%); min-width: calc(50%);" width="480" align="left">
<h1 style="font-size:calc(70% + 1vw); margin: 90px 10px 10px; text-transform: uppercase; text-align: center;padding: 0 12px;">Englestead Canyon Trip Report</h1>
<p style="font-size:calc(60% + 0.5vw); margin: 10px 10px 10px; text-align: center; line-height: 1.6;padding: 0 12px;">Ambassador Kenyon Virchow shares tips and tricks for navigating this epic canyon in Zion National Park. </p>
<a target="_blank" style="background-color:#301f0d;text-transform:uppercase;border: 2px solid #fff;padding: 0.4em 0;color:#fff;text-decoration: none;font-size:calc(50% + 0.5vw); font-weight:bold;display:inline-block; margin:10px 0 20px;width:40%;" href="http://www.example.com">Read More</a>
</div>
<!--Right Column -->
<div style="display:inline-block; font-size:16px; text-align:center; vertical-align:top; width:50%; min-width:120px; max-width:100%; width:-webkit-calc(230400px - 48000%); min-width:-webkit-calc(50%); width:calc(230400px - 48000%); min-width: calc(50%);" width="480" align="right">
<!-- Image -->
<p style="margin: 0px; text-align: center; background-color:#301f0d;">
<a target="_blank" href="http://www.example.com">
<img src="http:/image.jpg" alt="alt" style="width: 480px; max-width: 480px; display: block;" width="480" border="0">
</a>
</p>
</div>
</div>
</div>
</td>
</tr>
</table>
【问题讨论】:
-
如果你对每一列使用嵌套表而不是 div 内联块,我猜会有所帮助..
-
或者为了更好地兼容不同客户端的浏览器,您可以使用 mjml.io 等框架,但这完全取决于您的需求
-
在嵌套表中,我在两列的 Outlook 中遇到了更多问题。
-
是的,outlook 确实总是有问题,但尝试框架它会帮助你更好地支持客户
-
您可以使用媒体查询来更改移动设备中的字体大小(>95% 的设备支持媒体查询),或者您可以堆叠列或反向堆叠列。
标签: css html-table html-email email-templates html-templates