我正在生成一个使用内部样式表的html电子邮件,即。
<!doctype html>
<html>
<head>
<style type="text/css">
h2.foo {color: red}
</style>
</head>
<body>
<h2 class="foo">Email content here</foo>
</body>
</html>
字符串
当在Gmail中查看时,似乎内部样式表中的所有样式都被忽略了。
<h2 style="color: red">Email content here</foo>
型
这是我在使用Gmail查看HTML电子邮件时唯一的选择吗?
8条答案
按热度按时间monwx1rj1#
使用内联样式的一切。这个网站将您的类转换为内联样式:http://premailer.dialect.ca/
axr492tv2#
这里的答案已经过时了,截至今天2016年9月30日。Gmail目前是
head
中的style
标签的rolling out support,以及媒体查询。如果Gmail是你唯一关心的,你可以像现代开发人员一样安全地使用类!作为参考,您可以检查**official gmail CSS docs**。
顺便说一下,Gmail是唯一一个不支持
style
(reference,直到他们更新)的主要客户端。这意味着你可以 * 几乎 * 安全地停止将样式内联。一些更不知名的客户端可能仍然需要它们。abithluo3#
Gmail开始在头部区域提供基本的样式标签支持。目前还没有发现任何官方的东西,但是你可以很容易地自己尝试。
它似乎忽略了类和id选择器,但基本的元素选择器工作。
字符串
它将在自己的头部区域创建一个样式标记,该区域仅限于包含邮件正文的div
型
o75abkj44#
我同意所有支持类和内联样式的人的观点,你现在可能已经了解了这一点,但是如果你的样式表中有一个错误,Gmail会忽略它。
你可能会认为你的CSS是完美的,因为你经常这样做,为什么我会在我的CSS错误?运行它通过CSS验证器(例如http://www.css-validator.org/),看看会发生什么。我这样做后,遇到一些Gmail显示问题,令我惊讶的是,几个Microsoft Outlook特定的样式声明显示为错误。
这对我来说是有意义的,所以我把它们从样式表中删除,并把它们放在
only for Microsoft
代码块中,如下所示:字符串
这只是一个简单的例子,但是,谁知道呢,它可能在某个时候派上用场。
xdyibdwo5#
请注意,用于发送电子邮件的服务和工具可能能够为您内联CSS,允许
<style>
标签中的CSS在Gmail中工作。例如,如果您使用MailChimp发送电子邮件,您的CSS从
<style>
标签将被默认自动内联。使用Mandrill,您可以通过选中设置选项卡的“发送邮件”部分中的“HTML电子邮件中的内联CSS样式”框来启用此功能(尽管默认情况下for performance reasons禁用):的数据
3htmauhk6#
正如其他人所说,有些电子邮件程序不会读取css样式。如果你已经写好了一封网络电子邮件,你可以使用zurb的以下工具来内联所有样式:
http://zurb.com/ink/inliner.php
当使用上面提到的来自mailchimp,campaign monitor等的模板时,这非常方便,因为它们,正如你所发现的,在某些电子邮件程序中不起作用。这个工具将您的样式部分留给将读取它的邮件程序,并将所有样式内联以获得您想要的格式的更通用的可读性。
s4chpxco7#
我在Mailjet中设计模板时遇到了同样的问题。解决这个问题的方法是在
<style>
标签中缩小CSS代码。w8biq8rn8#
@shawn确实给了给予一个例子,如何使用头部样式和内联样式的组合。一些电子邮件客户端(Outlook,Gmail等)有棘手的事情,这些可以用css在头部样式中修复。
额外的表
<table width="580">
是为Outlook解决“宽度”问题,也是为了居中布局。字符串