提问者:小点点

Gmail拾取部分媒体查询样式(Mailchimp)


我正在完成一个Mailchimp模板,Gmail是现在最头疼的。

在我的头脑中,我有一些样式(css)和媒体查询。如果我把media-queries放在底部,它会阻止大多数样式通过。如果我把媒体查询放在顶部--我的所有样式都工作得很好,但是邮件看起来“坏了”(就像它应该在600px宽度/移动),就像媒体查询已经开始了。

首先,我认为Gmail不应该读取媒体查询中的任何内容,其次,为什么我的邮件显示为“响应”,当我有完全的浏览器宽度?

----顺便说一句----我知道我可以遍历所有内容并添加内联样式,但是,我有三个模板,如果我能摆脱它,我宁愿不要:)


共1个答案

匿名用户

通过大量的谷歌搜索,我发现我并不是世界上唯一一个有这种(奇怪的)问题的人。我在下面引用Lucas Mainardi的话,他在Outlook.com上发表了一个类似问题的答案。

基本上,在结束的body标记之前为媒体查询添加一个额外的style标记就可以解决问题。

我在我的设备(gmail、iphone、thunderbird)上进行了测试,它似乎不会对以前没有问题的客户造成任何损害。我还在等待我的Mailchimp收件箱检查完成(在那里我测试了更多的客户端,如Outlook,Android等)。我会编辑我的答案,如果它似乎有任何危害,否则就认为这是一个解决方案。

你好詹姆斯,

在评论中,我在Outlook.com上发布了一个可能的解决方案。

问题似乎是加载电子邮件的区域。显然,该区域开始时的大小很小,几秒钟后就被调整了大小,但在这段时间内,媒体查询启动并显示移动版本。这是因为在代码的层次结构中首先读取媒体查询(它们在head部分),然后读取HTML电子邮件。

我发现的解决方案是将包含媒体查询的style部分放在HTML电子邮件之后,特别是在结束的body标记的正上方。

我在Litmus中试用了这一方法,所有的方法似乎都运行得很好(其他浏览器/移动设备/电子邮件服务器似乎都没有受到负面影响,显示的是与邮件头部分的样式完全相同的电子邮件版本)。

摘自http://emailwizardry.nightjar.com.au/2013/08/28/media-queries-in-html-email-cover-all-your-bases/