41

我有几个带有重叠 CSS 选择器的 CSS 文件,我想以编程方式合并它们(不仅仅是将一个文件附加到另一个文件的末尾)。有没有什么工具可以在线做到这一点?或者是 Firefox 扩展?

4

3 回答 3

22

我找到了Factor CSS - 完整的源代码,但我认为它比我需要的要多。我真的只是想组合具有相同选择器的 CSS 块。我将检查源代码,看看它是否可以转换为可用作 TextMate 包的东西。也就是说,除非其他人设法在我之前得到它。

编辑:更好 - 这是用于检查/格式化/优化 css 的基于 Web 的工具列表

于 2008-08-19T19:36:44.603 回答
2

不,我希望有,但是编程工作似乎太多了,因为有多种方法可以引用单个元素。您能做的最好的事情是使用像 FireBug 这样的运行时来查找重复项。

于 2008-08-19T19:16:37.327 回答
1

几年前,我编写了一个 Perl 实用程序来执行此操作。

除了将一个或多个样式表合并到单个连贯的排序输出中(完整的注释以显示每个属性出现在哪个文件中,并在属性具有冲突值时发出警告),您还可以根据选择器,属性或两者。

这些是智能处理的,例如,如果您搜索属性font,您也会得到font-sizefont-weight(仍然显示在 CSS 块中,并带有从中获取的相关选择器)。同样,选择器搜索尝试做正确的(即通常最有用的)事情。例如,如果您搜索 element a,它将匹配选择器为a, a:hover, a.extlink, a#mylink, .foo a, #bar a, p a, pre > a, a + p, a img... 的任何块(最后两个不直接影响其a本身的样式,而是影响相邻或后代的样式元素,在这样的搜索中了解它通常很有用),没有匹配#a.a等。当然这个行为是可选的,你也可以搜索一个精确的选择器。或正则表达式。

除了 perl 本身,唯一的依赖是CSS::Tiny

它是免费软件,你可以在这里获得它:cssmerge

于 2012-06-12T21:37:42.410 回答