在开发基于Web的电子邮件系统时,是否有一种普遍接受的正确方法来处理传入电子邮件上的样式表?我指的是<style
标记。不是指@import
或<link
符号。
这些样式表必须仅限于包含外国电子邮件的元素,否则它们也会调整您自己系统的内容,这是一个很大的禁忌。
我知道我应该清理脚本和样式表,这样我就可以阻止url
背景图像,或者修复覆盖我系统部分的位置元素。
我不想完全删除样式表,所以我看到了这些选项
将样式表转换为内联样式
将整个外国电子邮件放入带有ID的div中,并将样式规则更改为仅影响该div(例如a,b{color:purple}
将成为#foreign a,#foreign b{color:purple}
)
这些好主意之一是什么?我错过了一个明显/更好的方法吗?什么是普遍/接受/健壮?
答案 0 :(得分:0)
电子邮件不支持外部样式表,因此html电子邮件中的所有CSS都位于页面样式标记或内联中。因为像gmail和yahoo这样的客户端去除样式标签以及body标签之外的所有其他内容是标准的,所以你可以简单地做同样的事情。将传入的电子邮件限制为内联样式将使所有CSS保持在这些元素的本地。内联css几乎就是电子邮件设计101,所以你不必担心你的电子邮件系统低于标准。
除此之外,Web客户端还会删除许多CSS元素。不希望有人添加position:fixed;
,因为它会突破查看窗格。每个客户端允许使用CSS的最佳参考是Campaign Monitor's CSS guide。
答案 1 :(得分:0)
我认为最好的想法是使用内联样式。我已经制作了可能发送样式的html电子邮件和内联样式的网站,这是大多数电子邮件sistemas唯一可用的工作。