菜单

在Email中防御性地利用HTML5和CSS3的指南

2019年1月22日 - Json

在Email中防御性地动用HTML5和CSS3的指南

2015/04/20 · CSS,
HTML5 · 1
评论
·
Email

本文由 伯乐在线
fzr
翻译,黄利民
校稿。未经许可,禁止转发!
英文出处:litmus.com。欢迎参预翻译组

“在Email中无法选用HTML5或CSS3”。

由于它们“有限”的支撑,那已改成邮件设计行业的一个宽广共识。不过,大家前日得以说它是一个通通荒唐的说教。

固然帮衬还不是老大通用的,但过多主流电邮客户端已经得以帮忙HTML5和CSS3了。实际上,电邮总体市场的50%都帮助HTML5和CSS。前五大电邮客户端中也有3家早先扶助它们了。对于特定顾客,可支撑的始末恐怕会更加多。

只是,那一个还不可以支撑这么些高档成效的客户端会怎么着呢?你的邮件在那样的订阅者的信箱中该怎么样呈现?当那几个涉嫌到邮箱,就归纳为一个:为订阅者提供卓绝的感受。但是,那也不表示你的邮件必须在每一家客户端中都显得的如出一辙——只需求让您的兼具订阅者都能易得易取。

本人爱好的两位邮件设计师——Jonathan Kim 和 Brian
Graves——就越发强调应用分裂的方法完成:防御性邮件设计和渐进式增强。

防御性邮箱设计

约莫两年前, Jonathan
Kim
在大家的 Mobile
Master 文章展上提议了“Pushing the Limits of
Email
”的概念。在说话中,Jonathan发明了一个新词来验证当前的电邮设计情形,即防御性邮件设计。

她表明说,由于有的邮箱客户端对CSS的援救少数,使得邮件设计者们陷入了破旧的规划情形。他发起邮件设计者们事先为这几个帮衬网络渲染引擎的客户端设计,进而促进邮件设计行业前行。

渐进式增强

以此类推,在二〇一四年的信箱设计大会上,DEG的UI设计师,
Brian
Graves
,,指出了“赢得在种种显示屏上规划的战斗”。他的出口的主要在于渐进式增强,关于在协助的条件上提供高档作用。他也强调了优雅降级的主要。优雅降级意味着,即便订阅者的邮箱客户端无法支撑某项特定效率,你也要能为他们提供愉悦的用户体验。

对得到Brian的完全体现感兴趣?幻灯片和拍摄现在都有提供了。

自动楼梯就是实在生活中一个渐进式增强和淡雅降级的周详例子。已故喜剧演员Mitch
Hedberg开玩笑说,“自动扶梯永远不会出故障:因为它可以只是一个楼梯。你应该永远也不会看出‘自动扶梯暂时故障’的牌子,只是‘自动扶梯暂时为阶梯’,不便宜方便。”不论环境怎么,自动扶梯都能维系团结的职能。

为HTML5和CSS3落到实处渐进式增强

运用渐进式增强是竭泽而渔邮件设计的最可行措施。大家都晓得的是,在邮箱中选拔传统的HTML5和CSS3会在分化客户端之间引起许多渲染问题。向后的兼容性非凡不雷同——一些HTML和CSS有坚实的向后包容性而其它的却并不曾。对此,差其他客户端选择了分裂选项。使用专业的HTML5和CSS3要求越来越多的测试,而且会潜移默化开发进程。所以,到底哪些才是在邮箱中落到实处渐进式增强的最好点子?

在电邮中运用HTML5和CSS3不必太困难。它不需要在奇怪的信箱客户端上浪费大量时刻排除故障(说的就是Outlook邮箱)。它所急需做的就是用一个适当的框架来火速执行HTML5和CSS3而不用烦恼和顾虑暴发渲染问题。而且,卓殊幸运的是,我们有那样的框架。

上边就是邮件设计者们和开发者们提供的一行主要的代码:

XHTML

@media screen and (-webkit-min-device-pixel-ratio:0) { /* Insert styles
here */ }

1
2
3
@media screen and (-webkit-min-device-pixel-ratio:0) {
  /* Insert styles here */
}

以此媒体询问只针对接济WebKit的邮箱客户端——对HTML5和CSS3有怀疑的接济度。那些媒体询问允许你利用现代技能例如HTML5视频、CSS3动画、web字体以及越来越多。

以此办法也将现代邮件客户端和旧式客户端的邮箱开发分为两有的。你可以在运用Safari或Chrome浏览器为支持Web基特的客户端测试开发现代技能的同时,使用Firefox为旧式浏览器提供诸如外观之类的为主经验。

如此那般化解电邮开发问题能够将越多的质料控制进程转移到浏览器方面而不是电邮客户端。这给予邮件设计者以更加多的权力,控制力,和自信去付出一个能在装有邮箱客户端之间优雅渲染的电邮。

下载这个Litmus测试结果,显示了就媒体询问对WebKit的支撑。值得注意的是,Gmail——既是一个web邮箱客户端,也是一个移动App——并不帮衬媒体询问,所以这么些测试对这几个屏幕截图无效。

你也足以本着Gecko(Firefox)渲染这么些媒体询问:

XHTML

@-moz-document url-prefix() { /* Insert styles here */ }

1
2
3
@-moz-document url-prefix() {
  /* Insert styles here */
}

很少有客户端拔取Gecko(Firefox)作为渲染引擎,那也是干吗最好就扶助Web基特(Kit)的邮箱提供您的增强版。但是,使用媒体询问为Web基特(Kit)渲染引擎添加相同的作用就大约的多了,对Thunderbird之类的客户端而言。

除此之外这几个点子,还有任何在电邮中落到实处HTML5和CSS3的艺术吗?有。但大家信任这几个措施是付出的最高效的不二法门——也是最安全的。它减弱了为独特邮箱客户端支出外观之类必要的工作量,而且集中于依照浏览器的测试。

小结:渐进式增强的提出

刺探你的受众

订阅者在哪儿打开你的邮件?他们会选择对HTML和CSS帮衬的很好的如魅族和AppleMail之类的客户端吗?你可以利用Litmus’
Email
Analytics
测试工具检测出订阅者中最盛行的信箱App。

根据所获取的新闻,你可以决定是或不是渐进式增强会对你的劳作有协理。例如,借使您的受众中多方面运用Web基特(Kit),可以很好的协助高级功用,那么可能尝试立异性的技能,比如HTML5
视频,会是一个不易的想法!

创建一个主干经验

用对HTML和CSS支持少数的邮箱App——如Outlook和Gmail,在您为此外客户端优化邮件之前,为订阅者建立一个着力经验。渐进式增强不应有让其余用户产生次优体验。

尽心尽力优化

借使你早已建立一个基本经验,就起来为其余用户优化体验。你可以使用CSS3,视频,交互,可缩放向量图形(SVG),以及web字体。记住,固然是对HTML和CSS扶助的比较好的Email客户端也有它们分其他格外之处,如故须要测试哪些才是立见成效的。

实战:邮件中的渐进增强例子

我们先看看一些在邮件中利用渐进式增强的开创性例子。为了显得对那几个邮件的优化,你不可以不运用一个如Chrome或Safari一样以Web基特(Kit)为动力的浏览器。

2014邮件设计大会以HTML5视频为背景的邮件

为了播报2014邮件设计大会,我们决定认真地以HTML5视频为背景完结渐进式增强。尽管那种专项技能只好在Apple邮箱和Outlook
2011(Mac版)上干活,但这三种客户端达到接收特定邮件的用户40%左右。

View the full email here

对于不支持视频的电邮客户端,HTML5视频仅仅只是退化为一张静态背景图片。我们的结果却是令人咋舌的——而且回报也是惊心动魄的!

B&Q 交互式旋转圆盘邮件

这一年中最酷的邮件之一是B&Q的交互式旋转圆盘邮件。对于WebKit客户端,该邮件包括了一个旋转热点,供用户点击查阅分歧的一对。

View the full email here

全体邮件中最令人印象深切的有的,可能是它为非WebKit邮箱使用的备用方案——一个华美的转动木马网格布局,没有藏匿也没有复制任何内容!

图片 1

您可以在 Firefox 或 Internet Explorer 浏览器中打开该邮件查看备用设计。

Litmus Builder(邮件开发工具)交互之旅邮件

为了引入大家的新邮件代码编辑器,Litmus
Builder,在那封邮件中显得了大气的可点击交互。同样,该技能也不得不在Apple邮箱和Outlook
2011(Mac版)中工作,而那八个却占了我们的消费者的多边。(注:邮件须求显示器至少800像素宽才能浏览。)

该展览仅仅只是退化为一个静态背景图片,而且会调用接口跳转到登录页面。那邮件取得了远大的功成名就,其产品在最伊始的几天里扩展了不少的用户。

View the full email here

想尝尝一下 Litmus Builder?注册后
,你就足以初始利用HTML5和CSS3测试你的邮件!

一个翻新邮件设计框架

CSS

@media screen and (-webkit-min-device-pixel-ratio:0) { /* Insert styles
here */ }

1
2
3
@media screen and (-webkit-min-device-pixel-ratio:0) {
  /* Insert styles here */
}

其一红娘查询为邮件设计师提供了一个简便的立异框架。大家可以为有着现代邮箱客户端的那一大片段订阅者提供更好的体验。

最好的防御就是攻击。现在该是进攻的时候了。在邮件设计中运用这一个红娘查询初阶更新,推动邮件前进。

为了订阅者去品尝。为了我们的行业,为了
对邮件的爱戴

曾经等不及想看看大家会同步建立出什么样了。

一经你用的是那种艺术——或者开发你自己的更高级的版本——在你的邮件中,或者只要您对那种方法有任何的问题,请在上边的评论中贴出,或者用更好的格局,去Litmus社区!

意识你的受众 + 测试你的安顿

对此可以先导应用高级技术像HTML5和CSS3来促进邮件发展,是或不是感觉很打动?确保识别出订阅者们最心爱的信箱APP,然后测试你新设计的邮件。

透过邮件分析,你可以精晓订阅者常常在哪儿打开邮件,那样你就可以集中精力在渐进式增强(以及优雅降级!)上了。

测试设计也是支付进度中卓殊主要的一步。在30个以上邮箱客户端和APP之间的包容性测试,可以确保订阅者们无论用怎么着邮箱打开邮件都能正常得到你的邮件。

 

赞 收藏 1
评论

HTML 邮件内容尽管也是 HTML,不过和我们在网页上行使的 HTML
不一致,因为安全原因,各大邮箱服务商及邮件客户端都会对邮件内容展开一定水平上的处理,不会坚守你写的原本
HTML 显示。

有关小编:fzr

图片 2

微博:@fzr-fzr)
个人主页
·
我的作品
·
26

图片 3

在桌面和活动端渲染电子邮件大致有上百万种不一致的整合措施。

越是是鼎鼎大名的 OutLook,从 OutLook2007 开端便选择 Word HTML
引擎举办渲染,为了它的安全性从而使得所有邮件倒退回了 2000
年前,为了邮件的包容性你不得不动用过多丢掉的竹签、属性,并且这一风貌将会维持无数个
年头,因为尽管所有终有尽头,但 OutLook 始终存在。

因为微软一贯地特立独行,使得 OutLook 成为了最难啃的骨头。因为 OutLook
援救的标签和特性少得极度,所以如果包容了
OutLook,其余邮箱客户端基本都不会有哪些问题。

使用tableb布局

这几乎是 HTML 邮件与普通 HTML 页面最大的不一致,因为种种邮箱对 div + css
这一套布局的剖析问题很大(如 float / position 等 CSS 都会被过滤,甚至
margin: 0 auto; 都不起效用),基本各大邮箱都会分析混乱,所以老式的 table
布局是优等之选。那就代表 HTML 邮件中大约唯有这多少个因素——table / tr /
td / span / img / a,尽量幸免使用 div / p 或是其余标签。

并且并不是有所邮箱都支持 colspan / rowspan 属性,所以具有布局都需求运用
table 嵌套解决。

1.Doctype

当前,包容性最好的Doctype是XHTML 1.0
Strict,事实上Gmail和Hotmail会删掉你的Doctype,换上那么些Doctype。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

 <head>

  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

  <title>HTML Email编写指南</title>

  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>

 </head>

</html>

选拔那么些Doctype,也就表示,不可以使用HTML5的语法。

2.布局

网页的布局(layout)必须选用表格(table)。首先,放置一个最外层的大表格,用来设置背景。

基本html
<body style="margin: 0; padding: 0;">
  <table cellpadding="0" cellspacing="0" border="0" id="backgroundTable" style="border-collapse: collapse; width: 100%; max-width: 750px; margin: 0 auto; text-align:center; font-size:0;">
    <tr>
      <td style="padding: 0;">
        <a href="" target="_blank">
          <img border="0" src="" alt="tuya smart" title="tuya smart" style="width:100%; display: block;"
          />
        </a>
      </td>
    </tr>
    <tr>
      <td style="padding: 0;">
        <img border="0"  src="" alt="tuya smart" title="tuya smart" style="width:100%; display: block;"
        />
      </td>
    </tr>
  </table>
</body>

3.图片

图形是唯一可以引用的表面资源。其他的外表资源,比如样式表文件、字体文件、摄像文件等,一概无法引用。

稍微客户端会给图片链接加下边框,要删减边框。

img {
    outline: none;
    text-decoration: none;
    -ms-interpolation-mode: bicubic;
}

a img {
    border:none;
}

<img border="0" style="display:block;">

须要注意的是,不少客户端默许不呈现图片(比如Gmail),所以要力保就算没有图片,主要内容也能被阅读。

4.行内样式

具有的CSS规则,最好都利用行内样式。因为放置在网页尾部的体裁,很可能会被客户端删除。客户端对CSS规则的匡助景况,请看那里。

除此以外,不要选拔CSS的简写方式,有些客户端不帮助。比如,不要写成下边那样:

style="font: 8px/14px Arial, sans-serif;"

假定想表明

<p style="margin: 1em 0;">

要写成上边这样:

<p style="margin-top: 1em; margin-bottom: 1em; margin-left: 0; margin-right: 0;">

相关作品

HTML
邮件包容问题与解决方案

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图