如何从电子邮件中删除MsoNormal类

时间:2014-05-15 07:35:10

标签: html email ms-office

朋友们,我正在努力创建一个电子邮件...我设计了一个电子邮件,然后将该设计剪切成HTML并使用Office 2007将该电子邮件发送到我的Gmail ...当我在我的Gmail中检查电子邮件时,我得到了这个enter image description here

调试后显示空格我发现每<p class="MsoNormal">后都有<tr>。要重置这个我还应用了以下风格,但它不起作用...请帮助我们

CSS

body {
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    margin: 0;
    padding: 0;
}
html {width: 100%;} 
body {width:100% !important;}
.ReadMsgBody, .ExternalClass {width:100%; display:block !important;}
table td {border-collapse: collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;} 
#backgroundTable {margin:0; padding:0; width:100% !important;} 
p.MsoNormal {margin: 0px}
img{display:block;}

4 个答案:

答案 0 :(得分:4)

您可以尝试的一个技巧(在大多数情况下工作)是将此样式添加到图像所在的每个td

<td style="line-height: 25%">

如果这不起作用,请尝试将其应用于<tr>(我真的不知道它是如何工作的,只是在某些情况下有效)

答案 1 :(得分:2)

从Outlook发送时无法阻止msoNormal标记。您可以在许多客户端中隐藏效果,但由于Gmail需要内联CSS(剥离样式标记),因此无法在Gmail中避免。这是related article on the topic

然而,有很多方法可以围绕它进行设计。例如,您可以使用一个大的(未剪切的)背景图像并将所有内容放在前面。

答案 2 :(得分:0)

你把显示器怎么样:块;每张图片?

例如:

<img src="YOUR.IMG.SRC" alt="" style="display: block; margin: 0; padding: 0;" border="0"/>

这对我有用。最困难的部分是删除Outlook上的p.MsoNormal,仍然认为这是因为Outlook的最新版本仍然存在该错误。而且,放;在你输入的每一种风格上。如果没有,CSS会很乱。

答案 3 :(得分:0)

我认为我已经理解了原因:它对某些Outlook文档很有趣,而其标签和内存安全要求库等很有趣。

简单的解决方案:

p:after {
   content: none;
}