Outlook 2010覆盖从Arial到Times New Roman的字体系列
我以编程方式发送HTML格式的电子邮件,并将字体设置为Arial( font-family: Arial;
)。 邮件到达Outlook 2010时, table
元素中的文本是Times New Roman。 div
元素中的文本在Arial中很好。 如果我View Source
,复制到一个HTML文件,并在浏览器中查看,所有字体的function按预期(这是所有Arial)。
某些Google 结果显示,如果没有指定Outlook,则Outlook将回退到其默认字体(Times New Roman),但这不是发生的情况。
为什么Outlook强制我的电子邮件显示在Times New Roman中?
即使你将font-family: arial
为table,它仍然不能工作。 你需要为table
每个td
专门设置字体,以使其正确无误。
<!--[if mso]> <style> body,table tr,table td,a, span,table.MsoNormalTable { font-family:Arial, Helvetica, sans-serif !important; }</style> <!--<![endif]-->
有问题的table
嵌套在一个有font-family:Arial;
的div
中font-family:Arial;
在它的风格,但table
没有一个字体集。 因此,表格不会从某些客户端的HTML电子邮件中的容器中inheritance字体(也可能是其他的东西)。
这个问题是从outlook 2007发生的,而以前的解决scheme对我来说并不奏效,唯一可行的解决scheme就是用<font face="arial, sans-serif">My text with arial</font>
如果您使用Outlook 2007,则必须在表上定义font-family。 否则,它将设置为默认衬线字体。
<font>标记已弃用,但由于Outlook 2010正在删除(几乎所有)样式,因此这是唯一的方法。
table.MsoNormalTable {font-size:12.0pt; font-family:"Times New Roman";}
table.MsoNormalTable {font-size:12.0pt; font-family:"Times New Roman";}
使用Text Pad打开您的HTML,并将其更改为Arial。
以上方法都不适用于我,使用与@ font-face链接的自定义字体。 必须使用Outlook的条件标签。 花了相当一段时间弄清楚究竟是如何。 所以我设置了一个代码示例:在我的情况下,我仍然遇到了一些麻烦,所以我已经分享了一个代码示例: https : //stackoverflow.com/a/21626196/135654
你可以把你的风格,以“跨度”的标签,它会奏效。
<td> <span style="font-family: "Times New Roman"></span> </td>
我有同样的问题….在电子邮件正文中的所有文本是宋体,但表默认为文字。 我不得不在每个单元中包装字体……耗时