Outlook 2013忽略font-family

时间:2015-05-05 15:38:19

标签: html css outlook html-email outlook-2003

为Outlook 2013编写电子邮件时指定字体系列的最佳方法是什么?我发现font-family在内联添加时会被忽略:

<span style="font-family: Helvetica, Arial, sans-serif;">Text</span>

我发现这有效:

<span><font face="Helvetica, Arial, sans-serif">Text</font></span>

然而,这是一个痛苦,因为我必须在添加文本的任何地方添加标记。围绕几个元素包装标记将被忽略。有没有办法让我可以设置一次字体并忘掉它?

7 个答案:

答案 0 :(得分:7)

强制Outlook 2013使用指定字体堆栈的有效方法是在!important中包装有问题的文本,并在定义font-family时使用<head> <link href='http://fonts.googleapis.com/css?family=Indie+Flower' rel='stylesheet' type='text/css'> </head> <body> <table> <tr> <td style="font-family: Helvetica, Arial, sans-serif; font-size: 12px;"> This will always be Helvetica. </td> </tr> </table> <table> <tr> <td style="font-family: 'Indie Flower', Helvetica, Arial, sans-serif; font-size: 12px;"> Outlook will display Times New Roman. Others will display Helvetica or Indie Flower. </td> </tr> </table> <table> <tr> <td style="font-family: Helvetica, Arial, sans-serif; font-size: 12px;"> <span style="font-family: 'Indie Flower', Helvetica, Arial, sans-serif !important;"> Outlook will display Helvetica, others will display Indie Flower. </span> </td> </tr> </table> </body> 。 Outlook仍将删除头部定义的任何Google字体,但其他电子邮件客户端将使用它们。这是一个例子:

ImageDraw.Draw(img).text(position, inputtext)

这来自这篇很棒的文章:https://www.emailonacid.com/blog/article/email-development/custom-font-stacks-in-outlook

答案 1 :(得分:5)

我遇到了这个问题,发现以下帖子解决了这个问题: https://litmus.com/community/discussions/982-outlook-overrides-font-to-times-new-roman

基本上,您需要在电子邮件模板中的body标记之后添加以下条件css样式代码段,以便Outlook获取所需的字体系列(在本例中为Arial,Helvetica或San-Serif)而不是粘性的MSO Times-New-Roman字体:

<!--[if mso]>
<style type="text/css">
body, table, td {font-family: Arial, Helvetica, sans-serif !important;}
</style>
<![endif]-->

答案 2 :(得分:1)

您是如何构建电子邮件的?如果您使用的是表格,那么

<td style="font-family: Helvetica, Arial, sans-serif;">

任何客户都可以正常工作。如果文本的一部分与其他部分不同,则只需要使用跨度。

Outlook 2013不会在标题中忽略。我知道这是因为我已经构建了很多电子邮件而且我设计了一个样式:在标题中访问过,因此Outlook(特别是)不会将它们改为紫色,它绝对有效!

编辑:一个更准确的答案是让我说不,不幸的是你必须每次都指定内联样式。 (最初没有看到问题的那一点!)

段:

<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td style="font-family: arial, helvetica, sans-serif; font-size: 14px; line-height: 18px; text-align: center; color: #000000;">

Some text here.....
</td>
</tr>
</table>

答案 3 :(得分:0)

不幸的是,根据我的经验,font标签是唯一能够在Outlook(和Windows Phone,以及数字)上保持一致的标签。您也希望为文本添加标准CSS内联,因为有些客户不会呈现font face属性。

答案 4 :(得分:0)

我只是想指出有关此字体问题的内容,不必像前面的答案中提到的CoderRoller一样,将您的字体系列声明放在body标签内。

我还发现了有关此问题的其他信息,我在电子邮件的内部使用了Google Api的字体,如下所示:

然后在body标签内:

<!--[if mso]>
    <style type="text/css">
        body, table, td {font-family: 'Playfair Display', Helvetica, sans-serif !important;}
    </style>
<![endif]-->

但是Outlook不同意拥有这样的自定义字体,因此它会忽略自定义字体之后的所有其他字体后备,因此,如果是这种情况,则只需删除自定义Google字体,然后使用像这样:

<!--[if mso]>
    <style type="text/css">
        body, table, td {font-family: Arial, Helvetica, sans-serif !important;}
    </style>
<![endif]-->

我目前在HTML的头部中具有这种CSS样式,我已使用石蕊试纸进行了测试,无论您是在body标记中还是在head标记中声明,都没有关系。

答案 5 :(得分:0)

自定义字体不是普遍支持的功能。 美国在线邮件 本机Android邮件应用程序(非Gmail应用程序) 苹果邮件 iOS邮件 展望2000 Outlook.com应用 Outlook iOS 是唯一支持自定义Web字体的电子邮件客户端。

有用的文章。 https://litmus.com/blog/the-ultimate-guide-to-web-fonts

答案 6 :(得分:0)

有一个非常简单的解决方案可以工作。 只需将所有内容包装在已弃用的font元素内即可!

<font face="Arial">
<!-- content -->
</font>