使用Razor将CSS转换为样式元素

时间:2013-10-17 16:31:01

标签: css asp.net-mvc-3 razor

根据GMail的questionable support for CSS,我想将style元素应用于我正在组装的HTML电子邮件中的所有内容。

我目前正在使用MVC3的Razor构建电子邮件,然后发送生成的HTML。有没有办法让我用样式表编写模板,然后对其进行转换,使每个元素都获得具有相应样式的style属性?


例如,在普通网页中,我会有类似

的内容
<style>
    a { color:#1c5567; }
</style>
<a href="...">Click here!</a>

如果GMail用户看到这个,他们就不会在那种阴影中看到它。但是,如果我这样做

<a href="..." style:"color:#1c5567">Click here!</a>
他们会的。但这是一个巨大的可维护性问题。因此,我想要一个可以采用前一种风格的HTML并将其输出到后者的过程。

。为此,我想采用现有的CSS样式并对其进行转换,以便将style="color:#1c5567;"添加到页面上的每个<a>

2 个答案:

答案 0 :(得分:1)

这可能是最蹩脚的方法,但您可以使用像CSS Parser这样的简单CSS解析器,并根据需要添加样式属性。

答案 1 :(得分:1)

由于您从外部样式表覆盖了gmail中的样式,因此需要使用!important来覆盖样式。

a { 
  color:#1c5567 !important; 
}