我有一些具有重叠CSS选择器的CSS文件,我想以编程方式合并它们(不仅是将一个文件追加到另一个文件的末尾)。是否有在线工具可以做到这一点?或者可能有Firefox扩展程序可以使用?
我有一些具有重叠CSS选择器的CSS文件,我想以编程方式合并它们(不仅是将一个文件追加到另一个文件的末尾)。是否有在线工具可以做到这一点?或者可能有Firefox扩展程序可以使用?
很抱歉,目前没有一种简单的方法来查找重复元素,因为有多种方式可以引用同一个元素。最好的办法是使用类似FireBug的运行时工具来查找重复元素。
我几年前写了一个Perl实用程序来完成这个任务。
除了将一个或多个样式表合并为一个有序的输出(包括注释以显示每个属性出现在哪个文件中,以及当属性具有冲突值时发出警告),您还可以基于选择器、属性或两者都进行有选择性地搜索或合并。
这些都会被智能地处理,例如,如果您搜索属性font
,您也会得到font-size
、font-weight
等(仍然在CSS块内呈现,带有它们来自的相关选择器)。同样,选择器搜索尝试做正确的事情(即通常最有用的事情)。如果您搜索元素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