您的位置:首页 > Web前端 > CSS

使用Chrome Audits功能清理无用的css

2015-09-25 11:07 896 查看
Google chrome在“开发者工具”中提供了类似 dust-me 的冗余css检测功能。 chrome用户可以在Audits面板内使用这个功能: 选择 Web Page Performance 选框并点击Run,会得到类似如下格式的提示
Remove unused CSS rules (185)35.39KB (51%) of CSS is not used by the current page.> my.release.css: 35.39KB (51%) is not used by the current
page.

这里显示了当前页面加载但没有用到的css样式文件和样式名称列表,点击css文件名前的 箭头可以展开得到一个列表。如果冗余内容很少,就可以直接分析一下然后到文件内删掉了。 需要注意的是,这个功能只是分析当前页面,所以很多其他页面需要但当前页没有使用的样式 也会列出。所以需要谨慎操作,完全确定了是冗余的样式,再手工清除。

我主要用这个功能去除一些想要借鉴的页面中冗余的css,都是从网站上直接保存来的单独页面。 所以我自制了批量清理工具。

我进行批量清理的步骤(由于Audits会将很多全局css认作unused,故批量清理比较危险,仅作学习使用):

将冗余的css列表保存成keys.txt

一般下载来的css都是压缩后的,不方便查看,这里我先将加密的css文件格式化:Replace regexp (default } -> }^J): RET

打开 keys.txt 和 需要精简的css文件,在 * scratch * 内使用 C-x C-e 执行以下代码: 由于chrome分析出的结果可能重复,这段小程序使用了cl的去重方法。

(let ((sbuf (get-buffer "style.css")) (kb (get-buffer "keys.txt")) (keys nil)) (set-buffer kb) (goto-char (point-min)) (while (not (eobp))
(push (buffer-substring (point-at-bol) (point-at-eol)) keys) (next-line) ) (set-buffer sbuf) (goto-char (point-min)) (require 'cl) (dolist (x (remove-duplicates keys :test #'equal)) (replace-regexp (concat x "{.*}\n") "") (goto-char (point-min)) )

)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: