2015-06-29 37 views
1

我在Thymeleaf + Spring MVC上有一个项目,并尝试使用Thymeleaf发送HTML电子邮件。引用HTML电子邮件中的CSS文件

我的印象是,我唯一需要做的就是创建一个模板文件,并像我一直在为常规页面所做的那样传递参数。看起来我错了。当我这样做时,它不适用CSS。 (事实上​​,它甚至不涉及CSS文件。)我不知道Google是否是移除CSS文件或者所有邮件客户端所做的事情。

它看起来像谷歌也编码的HTML元素的类和ID,所以是我唯一的选择使用内嵌CSS或有办法引用HTML电子邮件中的CSS文件?

<img src="some_url" class="CToWUd"> 

以上是img标签在Gmail上的样子。它应该是这样的,虽然:

<img src="some_url" class="topImage" /> 

在此先感谢

+0

https://css-tricks.com/using-css-in-html-emails-the-real-story/ – loli

回答

1

不幸的是,支持很差链接到HTML电子邮件外部样式表。

此外,Gmail的实际上是从headbody都去掉style标签,让你真正需要推动所有的风格直列您发送之前,以确保Gmail不会删除它们。

Campaign Monitor有一个很棒的CSS Support Guide,它概述了您可以和不可以跨所有电子邮件客户端使用。

+0

就像你说的,我不得不推动所有的样式内联才能工作。感谢CSS支持指南,它确实帮助我选择使用什么。 – Jail

3

是很常见的,从电子邮件被自动删除head标签,Gmail的绝对做到这一点。

尝试引用body中的样式表代替。

如果做不到这一点,你可以把CSS的style标签在身:

<html> 

<body> 

<style> 
    p { 
     // style here 
    } 
</style> 

// Rest of HTML here 

</body> 

</html>