Outlook.com在我的空间周围添加了额外的p

时间:2013-08-22 11:45:55

标签: html-email email-client

我正在设计电子邮件模板。在某些文本之间,我需要设置断线。到目前为止,除了outlook.com(在浏览器上)以外的大多数客户都这么好。它将我的<br>包裹在<p>内,默认情况下边距较大。

我尝试使用<br><td>包含空格,<td>包含<span>空格,<td>包含<p> { {1}}和里面的空间。每次我将html包裹在margin:0中。

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

3 个答案:

答案 0 :(得分:3)

我从未发现.ExternalClass黑客有任何用处。一般来说,Outlook.com对于line-height<p>标记非常不满意,所以我发现最好的办法就是从我的电子邮件中删除所有<p>标记然后放入<font><td>标记内的所有文字部分。

我运行了一个快速的石蕊测试并且无法使用<br><br/>重现您的结果,但您可以在<td>内嵌入一个表,不要定义高度,并在该表中使用多行来模拟中断。我发现它并没有弄乱我平常的行高节奏。

答案 1 :(得分:1)

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

p标签是不可避免的,上面的建议是“消除”不需要的边距的好方法。 Outlook不会删除<style>标记,但有些MS Exchange服务器会执行此操作(出于安全性的考虑),因此如果您在Outlook中忽略了样式标记,请尝试发送到其他域电子邮件地址(特别是非公司一)你应该发现它会按预期工作。

我还建议永远不要在电子邮件中使用<p>标记,并在段落之间使用双<br>标记,在表格单元格中使用&nbsp;<br><br>&nbsp;顶部和底部'填充'。

答案 2 :(得分:0)

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电子邮件中的所有样式都必须是内联的。这在某种程度上是正确的,因为一些客户将从您的电子邮件中删除头部和身体标签。但对于那些没有这样的人来说,就像前景一样,它是一个有价值的工作空间。

希望这会有所帮助。