在为电子邮件设计HTML模板时,我应该知道什么

时间:2017-02-08 17:03:57

标签: html css email html-email

在实施将通过电子邮件发送的HTML模板时,我应该知道什么?例如,我知道大多数电子邮件客户端默认不下载图像。你怎么解决这个问题?什么是其他不支持的css / html实现?

4 个答案:

答案 0 :(得分:3)

根据经验,第一件事是:当您编写HTML电子邮件代码时,像您这样的代码会在90年代重新出现。那就是:表布局!

将所有内容包装在表格中

border="0" cellspacing="0" cellpadding="0"

某些邮件客户端支持CSS,其他邮件客户端则完全支持CSS。有些客户端只允许使用内联样式,而不允许样式标记。因此,最好仍然使用<font>标记用于文本样式和已弃用的bgcolor属性,依此类推。不应使用CSS paddingmargin生成元素周围的填充/边距,而应使用包含透明1x1px gif的空表格单元格。请确保将高度应用于img标记以及td,如果您确实要确保tr标记。

事情变得越来越好,Gmail最近进行了更改,允许媒体查询响应速度,但这还没有全球推出。

因此,由于媒体查询尚未(现在)无处不在,现在大多数人都使用移动设备,因此使用&#34;移动优先&#34;并不是一个坏主意。在较大的显示器上接近并使用媒体查询来扩展布局。对于Outlook,您可以使用条件注释(因为它也不支持媒体查询)来实现相同的目的:

<!--[if mso]>
<style>/* style block will only be used in MSO */</style>
<![endif]-->

您还可以定位特定的Outlook版本,例如当前的Windows 10 Mail应用程序为mso 16。您可以使用lte/gte/gt/lt,就像之前用于旧IE的条件注释一样。

说到展望:在其他一些领域,这也是一种痛苦。为了强制行高并防止出现一些不需要的空格,有一些特定于MSO的样式,如mso-line-height-alt:0;mso-margin-top-alt:1px;,我建议您也阅读这些样式。

对于列布局,不要在表示列的每个表上使用float,而是使用align="left",除了&#34; row&#34;中的最后一个表。 (因为这会导致在Thunderbird中从网格浮出的表出现问题。)

根据我的经验,至少如果你从头开始创建模板,那就是建立,测试客户端(网络邮件,桌面和移动设备),修复,研究某些客户 - 具体的事情,不要看你喜欢他们的方式,尝试一些自己的尝试来修复它,并重新测试。

答案 1 :(得分:1)

电子邮件客户端和呈现引擎 电子邮件客户端使用不同的呈现引擎来呈现HTML电子邮件:

Apple Mail,Outlook for Mac,Android Mail和iOS Mail使用WebKit

Outlook 2000/02/03使用Internet Explorer

Outlook 2007/10/13使用Microsoft Word(是的,Word!)

Web客户端使用其浏览器的相应引擎,例如Safari使用WebKit,Chrome使用Blink

2016年11月更新:仅recently Google宣布支持Gmail中的嵌入式CSS和媒体查询。这对于电子邮件开发行业来说是巨大的。现在,截至2016年9月,Gmail将支持大量CSS个属性,这使得Gmail的模板开发变得更加轻松。

根据他们自己的内部统计数据(约10亿封电子邮件),Litmus有一个专门针对当前email client market share的网站。

font:http://www.leemunroe.com/building-html-email/

我建议您使用并测试这些:

https://github.com/TedGoas/Cerberus

http://foundation.zurb.com/emails.html

http://litmus.com/

https://www.campaignmonitor.com/

我希望这会对你有所帮助。

答案 2 :(得分:1)

您无法链接任何外部样式表,您无法使用浮点数,某些客户端会忽略背景图像。如果您希望在大多数客户支持的项目中使用外观漂亮的HTML电子邮件,您应该查看foundation for email。您可以使用多种默认模板,也可以构建自己的自定义设计。

答案 3 :(得分:0)

你需要了解很多,但想到的一些重要事项是:

  • 使用基于表格的布局
  • 使用HTML4语法
  • 使用CSS2语法
  • 使用内联css(style=),并且style
  • 中不包含head标记
  • 对所有图片使用alt文字,并在尚未下载图片时使用背景颜色作为后备。

这些只是一些指示,但我同意@Joseph Marikle,请参阅他发布的链接。