从Outlook发送到Gmail时,HTML电子邮件中添加了额外空间

时间:2013-02-27 21:19:37

标签: outlook gmail whitespace html-email

如果我在Gmail或Outlook中打开以下HTML电子邮件,则会按以下方式呈现:

<img src="img.png" />

但是,如果我在Outlook中打开它然后将其转发到Gmail,它会添加额外的垃圾HTML,使得该区域比它应该更高('p'标签负责增加的高度 - 具体为3px):< / p>

<p class="MsoNormal">
    <span style="font-size:10.0pt">
        <img src="img.png">
        <u></u>
        <u></u>
     </span>
</p>

有许多解决方案可以解决Gmail中的间距问题,例如在图片中添加display:block,将font-size和line-height设置为0等等。我已经尝试过十几种方法,但没有一种方法可行因为我无法控制的幕后HTML修改 - 被剥离的样式和属性,添加了自己属性的标签等等。

是否有解决方法可以始终保留原始格式?我很乐意提供所需的任何其他详细信息,请告诉我。

2 个答案:

答案 0 :(得分:2)

没有解决方法,但有办法限制和隐藏分离的大小。我将它称为分离,但由于Outlook应用了mso-normal p标记,它实际上是顶级单元格扩展。 Here is a related article.

在表格之间创建比表格行(2px)更大的间隙(大约15px)。它更复杂,但是尝试把你买不起的东西分成一张大桌子。 Colspans和rowpans可能很复杂,但如果设置正确,它们就可以工作。

要隐藏分隔,请使用bgcolor设置将所有表包装在主内容表中。例如,将一个大内容窗格设置为白色。从Outlook发送时,所有子表将移动,但间隙将保持白色,从而阻止不需要的行出现在您的电子邮件正文中。

页脚的技巧 - 作为主白色面板的最后一个子表,当它分开时,它会在它下面创建一条白线。从主面板中删除页脚表或将单元格bgcolor设置为与电子邮件背景相同以隐藏此分隔。

答案 1 :(得分:0)

我设法通过更改MsoNormal类来改变这种情况

 <style>
    td p.MsoNormal {margin: -4px !important}

    /* ou */

    .MsoNormal {
        margin: -4px !important;
    }
 </style>