为Outlook 2013编写电子邮件时指定字体系列的最佳方法是什么?我发现font-family在内联添加时会被忽略:
<span style="font-family: Helvetica, Arial, sans-serif;">Text</span>
我发现这有效:
<span><font face="Helvetica, Arial, sans-serif">Text</font></span>
然而,这是一个痛苦,因为我必须在添加文本的任何地方添加标记。围绕几个元素包装标记将被忽略。有没有办法让我可以设置一次字体并忘掉它?
答案 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>