我正在设计电子邮件模板。在某些文本之间,我需要设置断线。到目前为止,除了outlook.com(在浏览器上)以外的大多数客户都这么好。它将我的<br>
包裹在<p>
内,默认情况下边距较大。
我尝试使用<br>
,<td>
包含空格,<td>
包含<span>
空格,<td>
包含<p>
{ {1}}和里面的空间。每次我将html包裹在margin:0
中。
为什么它将我的html包装在<p>
??
答案 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>
标记,在表格单元格中使用 <br>
或<br>
顶部和底部'填充'。
答案 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电子邮件中的所有样式都必须是内联的。这在某种程度上是正确的,因为一些客户将从您的电子邮件中删除头部和身体标签。但对于那些没有这样的人来说,就像前景一样,它是一个有价值的工作空间。
希望这会有所帮助。