我是以编程方式发送HTML格式的电子邮件,并将字体设置为Arial(font-family: Arial;
)。当邮件到达Outlook 2010时,table
元素中的文本位于Times New Roman中。 Arial中div
元素中的文字很好。如果我View Source
,复制到HTML文件,并在浏览器中查看,所有字体都按预期运行(它都是Arial)。
某些Google results显示,当没有指定时,Outlook会回归到默认字体(Times New Roman),但这不是这里发生的事情。
为什么Outlook强制我的电子邮件在Times New Roman中以其他方式显示?
答案 0 :(得分:65)
即使您将font-family: arial
设置为表格,它仍然无法正常工作。您需要专门为td
内的每个table
设置字体才能使其正确。
答案 1 :(得分:27)
<!--[if mso]>
<style> body,table tr,table td,a, span,table.MsoNormalTable { font-family:Arial, Helvetica, sans-serif !important; }</style>
<!--<![endif]-->
答案 2 :(得分:10)
有问题的table
嵌套在div
的样式中font-family:Arial;
,但table
没有字体集。因此,表格不会在某些客户端的HTML电子邮件中从其容器继承字体(可能还有其他东西)。
答案 3 :(得分:6)
此问题发生在Outlook 2007上,之前的解决方案对我不起作用,唯一可行的解决方案是使用<font face="arial, sans-serif">My text with arial</font>
答案 4 :(得分:2)
如果您使用的是Outlook 2007,则必须在表上定义font-family。否则它将设置为默认的serif字体。
答案 5 :(得分:1)
&lt; font&gt; tag已被弃用,但由于Outlook 2010正在删除(几乎所有)样式,因此这是唯一可行的方式。
答案 6 :(得分:1)
table.MsoNormalTable
{font-size:12.0pt;
font-family:"Times New Roman";}
使用文本填充打开HTML,并将其更改为Arial。
答案 7 :(得分:1)
使用与@ font-face链接的自定义字体,以上方法都不适用于我。必须使用Outlook的条件标签。我花了很长时间才弄清楚究竟是怎么回事。所以我设置了一个代码示例:在我的情况下,我仍然遇到了一些麻烦,所以我为此分享了一个代码示例:https://stackoverflow.com/a/21626196/135654
答案 8 :(得分:1)
你可以将你的风格设置为“span”标签,它会很好用。
<td>
<span style="font-family: "Times New Roman"></span>
</td>
答案 9 :(得分:0)
我遇到了同样的问题....电子邮件正文中的所有文字都是Arial,但表格默认为单词。我不得不在每个单元格中包装字体......耗费时间......