在实施将通过电子邮件发送的HTML模板时,我应该知道什么?例如,我知道大多数电子邮件客户端默认不下载图像。你怎么解决这个问题?什么是其他不支持的css / html实现?
答案 0 :(得分:3)
根据经验,第一件事是:当您编写HTML电子邮件代码时,像您这样的代码会在90年代重新出现。那就是:表布局!
将所有内容包装在表格中
border="0" cellspacing="0" cellpadding="0"
某些邮件客户端支持CSS,其他邮件客户端则完全支持CSS。有些客户端只允许使用内联样式,而不允许样式标记。因此,最好仍然使用<font>
标记用于文本样式和已弃用的bgcolor
属性,依此类推。不应使用CSS padding
和margin
生成元素周围的填充/边距,而应使用包含透明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
https://www.campaignmonitor.com/
我希望这会对你有所帮助。
答案 2 :(得分:1)
您无法链接任何外部样式表,您无法使用浮点数,某些客户端会忽略背景图像。如果您希望在大多数客户支持的项目中使用外观漂亮的HTML电子邮件,您应该查看foundation for email。您可以使用多种默认模板,也可以构建自己的自定义设计。
答案 3 :(得分:0)
你需要了解很多,但想到的一些重要事项是:
style=
),并且style
head
标记
alt
文字,并在尚未下载图片时使用背景颜色作为后备。这些只是一些指示,但我同意@Joseph Marikle,请参阅他发布的链接。