2

我正在设计电子邮件模板。在一些文本之间,我需要放置换行符。到目前为止,除了 outlook.com(在浏览器上)之外,大多数客户端都很好。<br>它把我的内部包裹起来<p>,默认情况下有很大的边距。

我尝试使用<br>, <td>with space ,<td>with <span>and space inside 以及with <td>and space inside。每次我将我的 html 包装在一个. <p>margin:0<p>

为什么它将我的 html 包装在<p>??

4

3 回答 3

3

我从来没有发现这些.ExternalClass黑客有任何用处。line-heightOutlook.com 总体上对整个标签都非常不确定<p>,所以我发现最好的办法是<p>从我的电子邮件中删除所有标签,然后将所有文本部分<font>放在<td>.

我进行了一个快速的试金石测试,但无法重现您的结果,<br>或者<br/>您可以在 a 中嵌套一个表格<td>,不要定义高度,并使用该表格中的多行来模拟中断。我发现它不符合我通常的行高节奏。

于 2013-08-22T19:30:01.803 回答
1

Outlook 将所有内容都包装在<p>标签中的原因是因为它使用 MS Word 引擎来呈现 html 而不是基于浏览器的呈现器。

p 标签是不可避免的,上面的建议是将不需要的边距“归零”的好方法。Outlook 不会去除<style>标签,但某些 MS Exchange 服务器会这样做(我假设是出于安全考虑),因此,如果您发现 Outlook 中忽略了您的样式标签,请尝试发送到不同的域电子邮件地址(尤其是非公司电子邮件地址),您应该发现它会按预期工作。

我还建议不要<p>在电子邮件中使用标签,不要<br>在段落之间使用双标签,&nbsp;<br>或者<br>&nbsp;在表格单元格中使用顶部和底部的“填充”。

于 2013-08-23T12:21:07.760 回答
1

Outlook 无法正确呈现 html 电子邮件。

有一个小技巧可以帮助你:

<style type="text/css">

.ExternalClass p (Or whatever, you can target pretty much anything here)
{line-height: 50%; margin:0;} 

</style>

这将与 Outlook 的本机样式表对话并对其进行调整,因为 Outlook 将 .ExternalClass 类应用于您的电子邮件。

以下是有关该主题的一些重要信息:http ://www.emailonacid.com/blog/details/C13/line_height_and_outlook.com

许多人会说 html 电子邮件中的所有样式都必须是内联的。这在一定程度上是正确的,因为一些客户会从您的电子邮件中删除头部和身体标签。但对于那些不喜欢 Outlook 的人来说,这是一个宝贵的工作空间。

希望这可以帮助。

于 2013-08-22T14:02:22.410 回答