从HTML中提取内联CSS并净化页面

时间:2010-07-08 07:51:22

标签: asp.net html css

我有一大堆(超过300个)C#ASP.NET页面* .aspx和controls * .ascx,它们充斥着内联CSS样式。我的任务是将这些样式提取到CSS文件中。

所以我正在寻找一种简化手动提取内联样式并用 class =“”语句替换它们的任务的工具。

现在我知道这不是理想的做事解决方案,但任何可以简化任务的工具都会有所帮助。

3 个答案:

答案 0 :(得分:2)

没有工具可以为您编写好的CSS选择器,就像没有工具可以为您编写好的代码一样。是的,您可以从模板生成代码,但仅适用于最重复的编码任务。 CSS更像艺术而非科学,因此“自动生成”不会产生良好的效果。

编写好的,干净的,精简的,可维护的CSS需要对HTML标记,风格和风格的深入了解。您尝试实现的布局,以及识别整个站点的模式的技能,例如字体,颜色,h1标题,表格数据的表示等,这些都是重复使用的。

即使编写自己的脚本也不会产生好的CSS。您可能希望的最好的方法是提取所有这些内联样式,用唯一的id或类替换它们,并将它们全部转储到css文件中。我实际上并没有在这项练习中看到很多好处。实际上,由于您将创建所有额外的id或类,因此最终需要维护更多代码。

除非您开始将所有这些独特的ID或类合并到更少,更多重复使用的内容中,否则您将无法在上述练习中获得整个站点的外观一致性,这是一项最好的手动完成的任务,而非自动化无论如何。由于css样式表的浏览器缓存,页面加载时间可能会有所改善,但这就是你获得的所有内容。

很抱歉,如果我误解了你的问题,但是你的网站听起来很难让你从头开始重新编写你的CSS。

查看CSS Zen Garden获取CSS可以做什么的灵感,以及漂亮的CSS的例子,并获得灵感!

答案 1 :(得分:0)

我可能会选择使用带有正则表达式的脚本语言。这看起来特别适合python的列表功能 - 对于你的正则表达式的每个匹配,你可以检查列表以查看是否有相应的条目,从该结果中提取并分配类,并添加每个未列出的匹配到列表中继续构建它。

答案 2 :(得分:0)

您可以使用this工具,它会查找内联样式= ...定义用类定义替换它们并生成样式表。希望这是有帮助的。