您可以在 HTML 电子邮件中使用自定义字体

Avatar of Chris Coyier
Chris Coyier 发布

DigitalOcean 为您的旅程各个阶段提供云产品。 立即开始使用 $200 免费信用额度!

您使用它们的方式几乎与在网站上使用自定义字体相同。 Jaina Mistry 去年在 Litmus 博客上报道了此事

虽然网络字体没有通用支持,但以下是支持它们的电子邮件客户端

  • AOL Mail
  • 原生 Android 邮件应用程序(非 Gmail 应用程序)
  • Apple Mail
  • iOS Mail
  • Outlook 2000
  • Outlook.com 应用程序

除了使用 JavaScript 字体加载器之外,它在电子邮件中绝对不会起作用(没有电子邮件客户端会执行 JavaScript),最终归结为 CSS 中的 @font-face。 因此,让我们这样做。

假设我们想在电子邮件中使用 Lato,如果可以的话。 进行正常的 Google Fonts 操作并找到加载 Lato 的 URL。 如果你只是访问那个 URL,你可以看到它正在通过 @font-face 加载 Lato,你可以完全获取这段代码

在你的 HTML 模板中,你会将它放在 <head> 中的 <style> 块中,并设置 font-family

<style type="text/css">
@media screen {
  @font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 400;
    src: local('Lato Regular'), local('Lato-Regular'), url(https://fonts.gstatic.com/s/lato/v11/qIIYRU-oROkIk8vfvxw6QvesZW2xOQ-xsNqO47m55DA.woff) format('woff');
  }

  ...

  body {
    font-family: "Lato", "Lucida Grande", "Lucida Sans Unicode", Tahoma, Sans-Serif;
  }
</style>

请注意,那里设置了一些后备字体。 如果可以的话,我们可以回退到一些类似 Lato 的字体。

在这里我们可以看到它在 Litmus Builder 中工作

但为了确保,我们必须将它发送到一些实际的电子邮件客户端,看看会发生什么

✅ Apple Mail 10 中的 Lato
🚫 Outlook 2007(和 2010)中的 Lucida Grande
✅ iPhone 6 上的 Lato
🚫 Android Gmail 上的 Droid Sans
🚫 网页版 Gmail 上的 Lucida Grande

我认为思考方式应该是:有些可以,有些不行,meh,这是一种很酷的渐进式增强,可以帮助匹配你的品牌。