2

无论如何我可以将页面的所有样式(甚至是一些链接的css文件中的样式)作为内联样式吗?

例如,我有我的 css 文件:

body {
    background-color: red;
    color: black;
}

这个HTML:

<html>
    <head>
        <link href="styles.css" rel="stylesheet" type="text/css" />
    </head>
    <body>Hello World!</body>
</html>

所以我想得到:

<html>
    <head></head>
    <body style="background-color: red; color: black;">Hello World!</body>
</html>

style如果我可以在一个节点中获得所有样式,它也对我有用。

4

3 回答 3

3

从您的评论来看,您需要的是非常不同的

您正在寻找的是一种工具,它可以使用自己的 CSS 样式抓取 HTML 页面并将它们转换为内联样式

为此,有很多工具可以为您服务:

http://premailer.dialect.ca/

Google中还有更多,这在邮件中常用,因为电子邮件客户端应用程序不集成链接的 CSS,而是内联 CSS。

于 2011-06-09T10:46:08.653 回答
0

如果您正在寻找 .NET 解决方案,您可能会对 PreMailer.NET 感兴趣。

https://github.com/milkshakesoftware/PreMailer.Net

PreMailer pm = new PreMailer();
string premailedOutput = pm.MoveCssInline(htmlSource, false);
于 2011-07-27T22:50:02.740 回答
0

旧帖子,但我终于(晚了 2 年!)在 github 和 nuget 上得到了这个:

https://github.com/lukeschafer/HtmlCleanser

注意:Premailer.Net(Arical 建议)没有正确内联

于 2015-01-21T02:46:38.190 回答