【问题标题】:Outlook 2010 overriding font-family from Arial to Times New RomanOutlook 2010 覆盖从 Arial 到 Times New Roman 的字体系列
【发布时间】:2012-05-14 11:32:18
【问题描述】:

我正在以编程方式发送 HTML 格式的电子邮件,并将字体始终设置为 Arial (font-family: Arial;)。当邮件到达 Outlook 2010 时,table 元素中的文本采用 Times New Roman。 div 元素中的文本在 Arial 中很好。如果我View Source,复制到 HTML 文件中,然后在浏览器中查看,所有字体都按预期运行(都是 Arial)。

一些 Google results 显示,如果未指定任何字体,Outlook 将回退到其默认字体(Times New Roman),但这不是这里发生的情况。

如果另行指定,为什么 Outlook 会强制我的电子邮件以 Times New Roman 显示?

【问题讨论】:

    标签: outlook html-email


    【解决方案1】:

    我遇到了同样的问题....电子邮件正文中的所有文本都是 Arial,但表格默认为 word。我必须在每个单元格中包装字体......耗时..

    【讨论】:

      【解决方案2】:

      你可以把你的风格放到“span”标签上,效果很好。

         <td>
             <span style="font-family: "Times New Roman"></span>
         </td>
      

      【讨论】:

        【解决方案3】:
        <!--[if mso]>
        <style> body,table tr,table td,a, span,table.MsoNormalTable {  font-family:Arial, Helvetica, sans-serif !important;  }</style>
        <!--<![endif]-->
        

        【讨论】:

        • 这应该是公认的答案。也在 Outlook 2016 中工作。
        • 刚刚在 Outlook 2007、2010、2016、2019 上进行了测试。这 1 班轮效果很好
        【解决方案4】:

        以上方法都不适合我,使用与@font-face 链接的自定义字体。必须使用 Outlook 的条件标签。我花了很长时间才弄清楚到底是怎么回事。所以我设置了一个代码示例:在我的情况下,我仍然遇到了一些麻烦,所以我分享了一个代码示例:https://stackoverflow.com/a/21626196/135654

        【讨论】:

          【解决方案5】:

          table.MsoNormalTable {font-size:12.0pt; font-family:"Times New Roman";} 使用 Text Pad 打开您的 HTML,并将其更改为 Arial。

          【讨论】:

            【解决方案6】:

            标记已被弃用,但由于 Outlook 2010 正在删除(几乎所有)样式,这是它的唯一工作方式。

            【讨论】:

              【解决方案7】:

              这个问题是从 Outlook 2007 开始的,以前的解决方案对我不起作用,唯一可行的解​​决方案是用 &lt;font face="arial, sans-serif"&gt;My text with arial&lt;/font&gt; 包装文本

              【讨论】:

              • 谢谢!我有一个为每个 td 指定字体的表格,它将第一行变成 Times New Roman。有问题的文本周围的字体标签修复了它。
              【解决方案8】:

              如果您使用的是 Outlook 2007,则必须在 table 上定义 font-family。否则将设置为默认衬线字体。

              【讨论】:

                【解决方案9】:

                即使您将font-family: arial 设置为表,它仍然无法正常工作。您需要在table 中为每个td 专门设置字体以使其正确。

                【讨论】:

                • 我真的希望这不是正确的答案,但它成功了,干杯!
                • 这是正确的,Outlook 似乎没有采用父元素的样式。您必须设置当前容器的样式,否则文本将恢复为默认值。
                • 我猜td{font-family:arial} 不是你的意思?
                • @ThomasAhle:是的,你是对的。您必须提供内联样式,而不是样式块或外部文件中的样式。
                • @Userpassword 的解决方案适用于 Outlook,如果这是唯一的目标。
                【解决方案10】:

                有问题的table 嵌套在div 中,font-family:Arial; 的样式是table,但table 没有字体集。因此,表格不会从某些客户端的 HTML 电子邮件中的容器中继承字体(可能还有其他东西)。

                【讨论】:

                • 为表格设置字体就足够了。每个 div 都是必需的。在 Outlook 2010 上测试
                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2018-10-24
                • 1970-01-01
                • 2011-05-27
                • 1970-01-01
                • 1970-01-01
                • 2012-11-24
                相关资源
                最近更新 更多