@font-face 是否适用于电子邮件模板?
Does @font-face work in email templates?
有没有一种方法可以使用 CSS 的 @font-face
在电子邮件模板中嵌入自定义网络字体。这个问题与 MailChimp 中的电子邮件模板特别相关,但我也想知道是否有适用于所有或大多数电子邮件订阅服务的 cross-browser 解决方案?
我考虑过以这种方式将其嵌入 header 样式中:
@font-face {
src: url("http://www.remoteserver.com/fonts/font.otf");
font-family: Font;
}
但我担心这会极大地影响页面加载。有没有更好的方法?
更新:为了找到通用解决方案,这些不是 Google 字体,也不是存在于任何类型的在线源库中的字体。
可以!但是 html-email 中的所有东西都很酷,它不会在每个 client/browser.
中工作
@font-face
将在 iOS 和(大部分)Android 的默认客户端、Apple Mail 和 Mac 的 Outlook 2011 中工作。其他一切要么剥离你的整个 <style>
标签,要么忽略它。
一些预防措施:字体会影响 Outlook '07-'13,因此请将您的字体 CSS 包裹在它自己的样式标签中,在 MSO 条件中。确保在 @font-face
- otf、ttf、eot、svg 中使用所有类型的字体文件,以便跨浏览器使用。然后确保在尝试使用它时有良好的回退。至少你应该有 font-family:'Custom Font',sans-serif;
(或衬线)。
<!--[if !mso]><!-->
<style type="text/css">
@font-face {
font-family: 'Custom-Font';
font-weight: 400;
font-style: normal;
src: url('http://somethingdoodad.biz/fonts/Custom-Font-Regular.svg#Customfont-Regular') format('svg'),
url('http://somethingdoodad.biz/fonts/Custom-Font-Regular.eot?#iefix') format('embedded-opentype'),
url('http://somethingdoodad.biz/fonts/Custom-Font-Regular.woff') format('woff'),
url('http://somethingdoodad.biz/fonts/Custom-Font-Regular.ttf') format('truetype');
}
</style>
<!--<![endif]-->
一个问题是 Cross-origin 资源共享 (CORS)。至少对于 Thunderbird,您必须确保远程服务器(托管字体)发送一个 HTTP header,例如:
Access-Control-Allow-Origin: *
我最近尝试将自定义字体添加到电子邮件模板,但这些字体没有在 gmail 和 outlook 中呈现,所以发生的事情是这些电子邮件客户端限制下载自定义字体。
在这种情况下,您必须编写一些所有浏览器都支持的后备字体。
可以借助这个 link css fallback fonts
有没有一种方法可以使用 CSS 的 @font-face
在电子邮件模板中嵌入自定义网络字体。这个问题与 MailChimp 中的电子邮件模板特别相关,但我也想知道是否有适用于所有或大多数电子邮件订阅服务的 cross-browser 解决方案?
我考虑过以这种方式将其嵌入 header 样式中:
@font-face {
src: url("http://www.remoteserver.com/fonts/font.otf");
font-family: Font;
}
但我担心这会极大地影响页面加载。有没有更好的方法?
更新:为了找到通用解决方案,这些不是 Google 字体,也不是存在于任何类型的在线源库中的字体。
可以!但是 html-email 中的所有东西都很酷,它不会在每个 client/browser.
中工作@font-face
将在 iOS 和(大部分)Android 的默认客户端、Apple Mail 和 Mac 的 Outlook 2011 中工作。其他一切要么剥离你的整个 <style>
标签,要么忽略它。
一些预防措施:字体会影响 Outlook '07-'13,因此请将您的字体 CSS 包裹在它自己的样式标签中,在 MSO 条件中。确保在 @font-face
- otf、ttf、eot、svg 中使用所有类型的字体文件,以便跨浏览器使用。然后确保在尝试使用它时有良好的回退。至少你应该有 font-family:'Custom Font',sans-serif;
(或衬线)。
<!--[if !mso]><!-->
<style type="text/css">
@font-face {
font-family: 'Custom-Font';
font-weight: 400;
font-style: normal;
src: url('http://somethingdoodad.biz/fonts/Custom-Font-Regular.svg#Customfont-Regular') format('svg'),
url('http://somethingdoodad.biz/fonts/Custom-Font-Regular.eot?#iefix') format('embedded-opentype'),
url('http://somethingdoodad.biz/fonts/Custom-Font-Regular.woff') format('woff'),
url('http://somethingdoodad.biz/fonts/Custom-Font-Regular.ttf') format('truetype');
}
</style>
<!--<![endif]-->
一个问题是 Cross-origin 资源共享 (CORS)。至少对于 Thunderbird,您必须确保远程服务器(托管字体)发送一个 HTTP header,例如:
Access-Control-Allow-Origin: *
我最近尝试将自定义字体添加到电子邮件模板,但这些字体没有在 gmail 和 outlook 中呈现,所以发生的事情是这些电子邮件客户端限制下载自定义字体。 在这种情况下,您必须编写一些所有浏览器都支持的后备字体。 可以借助这个 link css fallback fonts