将“编译”CSS编译为HTML作为内联样式

我正在编写一个电子邮件HTML模板,有些电子邮件客户端不支持< style>用于指定CSS。应用CSS的唯一替代方法是使用内联样式(样式属性)。是否有一个工具或库(Node.JS)用于将样式表应用于某些HTML并返回带有应用样式的HTML?

该工具不必支持许多选择器; id,类和元素名称选择器应该足以满足我的需要。

需要什么的例子:

// stylesheet.css
a { color: red; }

// email.html
<p>This is a <a href="http://example.com/">test</a></p>

// Expected result
<p>This is a <a href="http://example.com/" style="color: red;">test</a></p>

解决方法

我认为 juice是你要找的。

只需要它,然后传递给你的HTML和CSS,让它做你的重型提升,像这样:

var juice = require('juice');
var inlinedcss = juice('<p>Test</p>','p { color: red; }');

它建立在许多成熟的库,包括mootools的光滑,并支持广泛的选择器。

您可能也对node-email-templates感兴趣,这是一个很好的封装动态电子邮件在节点。

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效