有很多工具可以在样式表中找到未使用的CSS规则,例如Chrome Audits和Firefox的Dust-Me Selectors附加组件(不幸的是,与Firefox Quantum不兼容)。
但是反过来呢?
如何找到HTML中的类,而这些类在样式表中不存在?
有很多工具可以在样式表中找到未使用的CSS规则,例如Chrome Audits和Firefox的Dust-Me Selectors附加组件(不幸的是,与Firefox Quantum不兼容)。
但是反过来呢?
如何找到HTML中的类,而这些类在样式表中不存在?
6条答案
按热度按时间rvpgvaaj1#
这可能是有帮助的:https://code.google.com/p/find-unused-classes/.根据描述:
它显示了存在于css选择器中的类,而不存在于html页面和like-verse中。
正如Jim所说,要注意的是,有些类可能不被样式表使用,但仍然在JavaScript中使用。
wkyowqbh2#
来自https://github.com/philipwalton/html-inspector的HTML Inspector具有以下功能之一:
*未使用类:有时候你会从样式表中删除一个CSS规则,但忘记从HTML中删除这个类。“unused-classes”规则将CSS中的所有类选择器与HTML中的类进行比较,并报告任何未使用的类。
HTML中作为JavaScript钩子的类可以通过白名单忽略。默认情况下,任何以
js-
,language-
或supports-
为前缀的类都被列入白名单。有关此规则背后的原理的更多信息可以在here中找到。在它的FAQ中,你会发现一个书签。
或者通过脚本标签添加它:
字符串
然后运行这个片段:
型
Andrew Grimm的评论指出,这个项目已经不再维护(最后一次提交是2017年12月)。幸运的是,它似乎仍然可以正常工作(2019年6月测试)。
还有grunt-unclassify,但该项目似乎已经死亡(最后提交2014年12月)。
55ooxyrt3#
这是关于如何在html中获取类名的部分答案
字符串
可以使用此JavaScript代码获取html文件中的类名。要获取CSS中使用的所有类,请尝试list-selectors。仍在考虑如何获取Javascript angularJS中使用的类名。添加了一个带有随机HTML类的工作片段来测试js。
w9apscun4#
工具
grunt-unclassify
看起来也很有前途,尽管它的使用似乎并不简单:https://medium.com/@mariusc23/remove-unused-css-classes-in-html-bbb856da8bdf#.55u0uokfb
hjqgdpho5#
当传递一个HTMLElement时,以下代码输出未使用的类和id:
字符串
它的工作原理是通过
window.getComputedStyle()
提取元素的样式,然后逐个删除类并检查样式是否仍然相同。(If你想要一个删除了无关的类和id的HTML版本,然后修改代码,只在类影响样式时才重新添加类,在所有子节点上递归调用函数,然后使用
XMLSerializer. serializeToString
序列化DOM。)vngu2lb86#
https://css-tricks.com/detect-unused-classes-in-html/
前几天我看到Robert Kieffer发布了一个Gist,其中有一个有趣的解决方案。这个想法是加载document.styleSheets并找到所有的规则(那些是类的规则)。然后,使用MutationObserver来观察所有HTML的DOM,并检查每个节点的classList,看看它是否与任何样式表中的任何一个匹配。如果HTML有一个在样式表中找不到的类,报告它。
https://gist.github.com/broofa/7e95aad7ea0f34655428cda9868e7fa3的
也作为npm包发布:https://github.com/broofa/checkcss