最小化给定HTML常量的CSS长度保持样式

时间:2008-10-16 14:29:35

标签: html css optimization

假设A.css样式为B.html。有哪些工具/技术以编程方式减小A.css的大小,同时在B.html常量上保持其样式效果?以下是我想象的一些技术:

  1. 删除A.css中的冗余。例如,如果定义了两次相同的类,则可以删除第二个定义而不影响语义。这似乎很容易。

  2. 删除未使用的样式定义。 A.css样式是否出现在B.html中没有出现的任何元素?如果是,请将其删除。

  3. 在适当的时候合并样式。如果A.css定义了div.x和div.y的样式,并且恰好具有类x的每个div也具有类y,则可以在A.css中组合类定义。

  4. 另一种策略是使用一种工具来检查一段样式化HTML中每个元素的计算样式,并吐出保留计算样式的最小样式表。是否存在 this 这样的内容?

    更新

    让我解释一下我是如何处理这种情况的。有问题的CSS文件用于电子邮件,它是通过基本复制我们在关联网页中使用的类似CSS文件创建的。因为电子邮件中的HTML是CSS所在网页中HTML的正确子集,所以电子邮件中的一些CSS是多余的。

7 个答案:

答案 0 :(得分:1)

通常,您只需删除所有不必要的空格。请记住保留原件,以便以后编辑网站时不会失去可读性。

答案 1 :(得分:1)

我认为确保css文件被网络服务器gzip压缩是你最大的带宽保护程序。

答案 2 :(得分:1)

“这样的事情存在吗?”

当然。请参阅CSS Tidy工具。

我不相信它会删除未使用的CSS。请参阅Sitepoint的Dust Me Selectors

答案 3 :(得分:0)

除非你有一个通常很大的CSS文件,否则我会选择CSS文件的可读性和可修改性,而不是使用较小的CSS文件。由于CSS文件是静态的(大多数情况下),大多数浏览器都会很好地缓存它们。虽然你的所有建议都很好,但是当你只想改变其中一个项目的时候,将不同文档元素的相同内容组合在一起会对将来造成严重破坏。

答案 4 :(得分:0)

我不知道删除冗余样式的工具,但如果你想出于性能原因想减小文件大小,那么有几种小型工具:

见:

答案 5 :(得分:0)

一个好主意是compress your css

这不是压缩式压缩,它实际上是重写CSS(又称缩小)。 当然,您也可以使用mod_gzipmod_deflate

答案 6 :(得分:0)

好的,你不想要KB的小文件(使用gzip压缩更有效!)但要修剪过时的样式,这确实会改善维护。

我不知道你想要的理想工具是否存在,但Firebug(Firefox的扩展)可以告诉你想要的是给定HTML元素使用的CSS元素。不是自动化的,但仍然是一种宝贵的工具 您还可以编辑实时CSS,以查看删除样式元素是否会改变HTML页面。