编辑:虽然我的具体问题是由于Twitter Bootstrap的原因 系统,我正在寻找的解决方案不需要是Twitter 特定于Bootstrap,但更适合任何CSS样式表的解决方案。
我正在开始探索Twitter Bootstrap的世界,以寻找我正在进行的当前项目。我正在使用Bootstrap 3.3.6
问题 (我为什么会遇到以下问题)
基本的Bootstrap CSS文件是6760行,以及用于将我自己的自定义CSS添加到站点的其他文件。总的来说,这使得每个页面的网站加载了~8700行CSS(未经分析)。
但适用于该网站的规则仅使用约700条这些线路。这是每个页面的大量开销,即使将CSS缩小为.min.css
格式,这仍然是一个巨大的百分比开销。
我正在寻找一种方法来减少这种开销,而无需从CSS文件中删除任何使用过的规则。
我尝试了什么 (以及为什么它不起作用或不切实际)
我以前非常成功地使用了Firefox Dust-Me CSS精简程序,它可以识别页面中甚至整个站点上所有未使用的CSS规则。
这就是我想要的东西, 但是 它有两个严重的缺点:
它只保留在页面上用于所使用的设备/媒体的CSS规则(例如,它告诉我IE10 viewport bug workaround CSS文件中的所有规则都没有使用,因为我使用的是Firefox浏览器,而不是IE10)。它也没有考虑媒体查询特定规则。
使用Dust-Me的另一个主要缺点(特别是,但我发现其他类似的程序有类似的缺点)是,虽然它会告诉我哪些规则没有使用,但它没有&#39 ; t让我能够从源文件中复制/粘贴使用过的CSS。
我还研究了一些其他CSS备用规则删除器和Google Chrome Developers Audit这是有用的,但做同样的事情,以文本格式列出未使用的规则,这几乎只是我要找的工作的一半
问题 (为什么我需要你的帮助来解决这个问题)
所以我处于谷歌Chrome审核的位置,告诉我88%的bootstrap.css
和65%的bootstrap-theme.css
未使用。这些未使用的元素以文本格式列出,并且有数百个。目前我只能看到我需要在每一个上找到/替换它们,从源中删除它们[规则标识符],然后再通过CSS文件并删除所有不再执行的命令有任何规则。
从整个网站阅读CSS的最佳方法或方法是什么? 仅返回站点中引用的所有CSS规则,因此规则 未引用的是否未返回给运营商?
然后我可以从这个函数中获取输出,然后将其缩小并保存引导程序的大量CSS开销。
或 ,有没有完全不同的做法,我没有考虑过?
其他 我已经阅读了How to remove unused styles from twitter bootstrap?,这与我要问的内容类似,但这里的正确答案引用了某种Bootstrap选择,我可以从Bootstrap中选择哪种样式。这是日期2013年,似乎是指Bootstrap版本2.
另外,我不使用Grunt
而且不熟悉Less
。对不起: - /
答案 0 :(得分:5)
您可以自定义在http://getbootstrap.com/customize/编译的组件。 这样您将获得一个较小的输出文件,但将满足所有依赖项。
为了获得更好的控制,您可以使用源.less
文件仅编译所需的组件。
答案 1 :(得分:-1)
您可以使用unused-css.com作为输入,这是您要求的。