0

我一直在浏览电子邮件通讯设计和编码的荆棘补丁。一个问题不断出现:我的标题的行高在不同的电子邮件客户端之间不一致。

一组为标题提供了很大的空间,其中包括 Gmail 和 iPhone: Gmail 中的简报

另一组,主要是 Outlook,呈现标题的余地较小: 在此处输入图像描述

我的代码如下:

<table width="540" cellpadding="0" cellspacing="0" border="0">
<tr>
    <td colspan="5" width="270" height="7" style="line-height: 7px;"><img src="img/shading-top-orange.gif" width="270" height="7" style="display:block;"></td>
    <td rowspan="3" width="270" height="199"><img editable width="270" height="199" style="display:block;"></td>
</tr>
<tr bgcolor="#f68b1f" >
    <td width="10" height="185"><img src="img/shading-left-large.gif" width="10" height="185" style="display:block;"></td>
    <td width="15" height="185" bgcolor="#f68b1f"></td>
    <td width="223" height="185" bgcolor="#f68b1f" align="left" valign="top"><a name="item2" style="text-decoration: none;"><h2 style="font-family: Arial, Verdana, sans-serif; font-size: 15px; color: white !important; color:white;"><singleline label="Title" repeatertitle="true" style="color: white;">Lorem ipsum</singleline></h2></a><multiline><p style="font-family: Arial, Verdana, sans-serif; font-size: 12px; color: white;">Lorem ipsum dolor sit amet</p></multiline></td>
    <td width="15" height="185" bgcolor="#f68b1f"></td>
    <td width="7" height="185"><img src="img/shading-right-small.gif" width="7" height="185" style="display: block;"></td>
</tr>
<tr>
    <td colspan="5" width="270" height="7" style="line-height: 7px;"><img src="img/shading-bottom-orange.gif" width="270" height="7" style="display:block;"></td>
</tr>

新信函应用程序根据需要填写文本。

我怎样才能以这样一种方式编码这个片段,让所有(或大多数)客户端都像在 Gmail 中一样呈现标题?我已经尝试了很多事情,比如为标题添加另一个嵌套表,给它一个橙色的顶部边框等。这些修复也影响了 Gmail 呈现,这不是我想要的。

4

1 回答 1

1

如您所见,您不想依赖line-heightHTML 电子邮件,因为客户端之间的支持非常糟糕且不一致。不幸的是,解决这个问题的方法是重构你的代码以嵌套一些tables.

在这里查看这个小提琴,我基本上只是在你的第二个中嵌套了table另一个。这张桌子有一个完整的人,唯一的工作就是设定一个特定的高度并在标题上方创建一些填充:tdtrtd

<tr bgcolor="#f68b1f" >
    <td width="10" height="185"><img src="img/shading-left-large.gif" width="10" height="185" style="display:block;"></td>
    <td colspan="3">  
        <table> <!--the new nested table-->
            <tr>
                <td bgcolor="#f68b1f" colspan="3" height="15"></td>
            </tr>

不幸的是,在 HTML 电子邮件的世界中,您将不得不依赖这些基于表格的布局技巧,而不是像line-height.

于 2012-10-04T14:12:54.340 回答