总结回顾css
邮件内容所在上下文或者说所在外部容器(如下简称环境)都是由邮箱服务商决定的,不一样的邮件服务商对前端样式布局支持都存在在一些差异。这就要求邮件内容须要在任何一种状况下都要正常兼容显示。html
你写的邮件前端代码可能被放在一个iframe中,那你的内容是被放在body里面的;可能放在一个div中,你的内容就被放在这个div里面。前端
邮箱软件自己设置设置了些css,他可能对你产生未知的影响。可能根本没有申明doctype,即便申明了,也不是你想要的doctype。web
由于容器多是body或div,咱们邮件内容不该该是一个完整的html。因此邮件内容应该是以div为根节点的html片断。面试
咱们写的邮件代码在不用的邮件服务商下,对应的外部容器不太同样。数组
QQ邮箱:本身编写的内容被嵌套在一个div中bash
一个文档类型标记是一种标准通用标记语言的文档类型声明,它的目的是要告诉标准通用标记语言解析器,它应该使用什么样的文档类型定义(DTD)来解析文档。函数
兼容性最好的Doctype是XHTML 1.0 Strict,事实上Gmail和Hotmail会删掉你的Doctype,换上这个Doctype。使用这个Doctype,也就意味着,不能使用HTML5的语法。布局
网页的布局(layout)必须使用表格(table)。首先,放置一个最外层的大表格,用来设置背景。 在内层,放置第二个表格。用来展现内容。第二个table的宽度定为600像素,防止超过客户端的显示宽度。 post
错误的写法
<div style="font: 8px/14px Arial, sans-serif; margin: 1px 0;">
推荐写法
<div style="margin-top: 1px; margin-bottom: 1px; margin-left: 0; margin-right: 0;">
复制代码
全部的CSS规则,最好都采用行内样式。由于放置在网页头部的样式,极可能会被客户端删除。客户端对CSS规则的支持状况 另外,不要采用CSS的简写形式,有些客户端不支持。由于环境中可能已经设置了css,好比一些reset、一些.class。 因此咱们只能使用行内style来确保咱们的效果,而且在内容根节点上设置基础style,而且尽可能使用div、span等无语义标签。
<img border="0" style="display:block; outline:none; text-decoration:none; -ms-interpolation-mode: bicubic; border:none;">
复制代码
图片是惟一能够引用的外部资源。其余的外部资源,好比样式表文件、字体文件、视频文件等,一律不能引用。 有些客户端会给图片连接加上边框,要去除边框。 须要注意的是,很多客户端默认不显示图片(好比Gmail),因此要确保即便没有图片,主要内容也能被阅读。
图片是惟一能够引用的外部资源。其余的外部资源,好比样式表文件、字体文件、视频文件等,一律不能引用。 有些客户端会给图片连接加上边框,要去除边框。 须要注意的是,很多客户端默认不显示图片(好比Gmail),因此要确保即便没有图片,主要内容也能被阅读。
客户端:foxmail outlook QQ邮箱 为了应付Email的怪癖,花了不少时间测试,确保搞定了全部Outlook的坑洼沟洄 可是....仍是不可避免有兼容问题 若是你只要兼容 Foxmail and qq邮箱,那你几乎能够像写web同样写邮件。 因为邮件客户端对css支持各有不一样,因此必定要多测试再发送,保证样式的正确。若是出现了不兼容的状况,必定要耐心的使用最简单的方式进行兼容,尽可能少用特殊标签及比较复杂的属性。
来源:团队平常总结分享