我有几个带有重叠 CSS 选择器的 CSS 文件,我想以编程方式合并它们(不仅仅是将一个文件附加到另一个文件的末尾)。有没有什么工具可以在线做到这一点?或者是 Firefox 扩展?
3 回答
我找到了Factor CSS - 完整的源代码,但我认为它比我需要的要多。我真的只是想组合具有相同选择器的 CSS 块。我将检查源代码,看看它是否可以转换为可用作 TextMate 包的东西。也就是说,除非其他人设法在我之前得到它。
编辑:更好 - 这是用于检查/格式化/优化 css 的基于 Web 的工具列表。
不,我希望有,但是编程工作似乎太多了,因为有多种方法可以引用单个元素。您能做的最好的事情是使用像 FireBug 这样的运行时来查找重复项。
几年前,我编写了一个 Perl 实用程序来执行此操作。
除了将一个或多个样式表合并到单个连贯的排序输出中(完整的注释以显示每个属性出现在哪个文件中,并在属性具有冲突值时发出警告),您还可以根据选择器,属性或两者。
这些是智能处理的,例如,如果您搜索属性font
,您也会得到font-size
等font-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