利用CSS优化,让你的站点加载的更快

网络整理 - 07-27
当很多人设法优化他们的站点或博客的时候,看起来大部分人都忽略了CSS。
我今天花费了一些时间看CSS优化工具。我需要一些免费的、在线的和易于使用的工具。当然,它们要奏效才行。实际上有相当多网站满足条件,它们中的一些使用起来更方便、能生成更友好的代码,同时另外一些则使用起来麻烦一点,但是可以生成令人吃惊的结果。
我测试了CSS Optimizer, Icey’s CSS Compressor, Flumpcakes CSS Optimiser, 和CleanCSS,从这里可以看出谁可以把一些受欢迎站点的CSS文件压缩到最佳状态。
</A>我选择六个测试站点:

<A href="">Digg.com - web 2.0时代的poster boy, 主页面设计得很不错.
Slashdot - ‘昨天’的poster boy. 转移到css阵营相对较晚,但仍迎来了不少pageview.
Filmsy - BloggyNetwork的blog部分,我认为它设计得很不错
iBegin - 我在多伦多使用过的不错的本地搜索引擎
Download.com - CSS应用最受欢迎的站点之一
ESPN - 一个完全非科技的统计,它的CSS改版也是非常瞩目的。

CSS优化器施了大量伏都教的魔法来达到他们的最终结果,这包括合并相似类、删除无用的属性、删除空格等等。这能导致你或我难以阅读代码,但是对于更大的CSS文件,它可以大量压缩它的体积以致页面加载速度上有了很大的影响。
许多宽带用户可能不认为这有什么重要,因为大部分网站对他们而言加载得很快。但是如果你去的每个站点的加载速度都能快上10%,想想在一周的时间里它能节约你多少时间,一个月呢?或者一年呢?对于网站经营者而言带宽的节省也同样巨大。我将建议你一直保留一份阅读性好的CSS代码拷贝,这样如果你需要做任何改动它不会耗费你很长时间,然后你可以再次优化它。
结果
我用保持默认设置的工具来运行所有这些测试。这或许不能给它们所有一个相同的地位,但我认为这正是我们大多数人使用它们的情形,因为我们不知道哪个选项打开哪个选项关闭,而且一些工具没有特殊的选项供以打开或关闭。
Digg是第一只豚鼠。在优化Digg.com的主CSS文件之前它的体积是30.56KB,(错误消息就不翻译了,这样看起来更清楚)
SiteAfterReduction
CSS Optimizer25.74 KB9.89% (failed: moves Popular stories and upcoming stories tabs next to Technology header and messes up Digg Home button)
Icey CSS Compressor16.69 KB45.39% (failed: changes padding/margins on some items. Spaces things out more)
Flumpcakes CSS Optimiser28.26 KB5% (failed: Messes up Digg Home button)
CleanCSS26.038 KB16.8%

Slashdot进来的重新设计使CSS文件体积达到19.1KB大小,CSS优化器仍旧把文件体积做了很大缩减。
SiteAfterReduction
CSS Optimizer 15.01 KB21.38%
Icey CSS Compressor9.68 KB49.38%
Flumpcakes CSS Optimiser16.9 KB11%
CleanCSS15.234 KB22.1%

下一个是Filmsy,这一个有最小的CSS文件,总共才11.39KB。不过,我们仍完成了将近50%的压缩。
SiteAfterReduction
CSS Optimizer9.25 KB18.85%
Icey CSS Compressor6.03 KB47.08%
Flumpcakes CSS Optimiser9.4 KB17%
CleanCSS8.27 KB29.1%

下一个是iBegin Toronto.一个不错的搜索引擎,它的CSS文件是22.79KB大小。
SiteAfterReduction
CSS Optimizer16.17 KB29.04% (failed: font-size got larger)
Icey CSS Compressor10.04 KB55.95%
Flumpcakes CSS Optimiser19.28 KB12% (failed: font-size got larger)
CleanCSS17.134 KB26.6% (failed: font-size got larger)

倒数第二个是Download.com. 它设计上向CSS-P的转移制造了很大的响声,我们很有兴趣知道一个大公司能获得多少收益。它的CSS文件大小是54.2KB,测试的所有体积中最大的。
SiteAfterReduction
CSS Optimizer17.36 KB32.39% (failed: Fonts and Padding on elements change)
Icey CSS Compressor54.3 KB0%
Flumpcakes CSS Optimiser20.0 KB17% (failed: Fonts and Padding on elements change)
CleanCSS45.699 KB17.8%

最后一个是ESPN。和Download.com一起,这两个站点是当谈起CSS在大规模网站的生存能力时提起最多的。ESPN的CSS体积是25.68KB。
SiteAfterReduction
CSS Optimizer17.36 KB32.39% (failed: Fonts and Padding on elements change)
Icey CSS Compressor7.74 KB69.84%
Flumpcakes CSS Optimiser20.0 KB17% (failed: Fonts and Padding on elements change)
CleanCSS18.944 KB27.9%

压缩表
SiteCSS OptimiserIcey CompressorFlumpcakesClean CSS
Digg.comfailedfailedfailed16.8%
Slashdot17.45%51.21%9%21.9%
Filmsy18.85%47.08%17%29.1%
iBeginfailed55.95%failedfailed
Download.comfailed45.49%0%27.9%
ESPNfailed69.84%failed27.9%
Average:18.15%53.91%8.67%24.18%

很显然的冠军是Icey’s CSS Compressor,它的气势足以刮走其他选手。它甚至用颜色显示压缩的代码,使我们更容易看出它所做的改变,以及它如何格式化的。它同时使阅读其他大部分工具的输出变得更加便宜。
第二位看起来是CleanCSS,它是基于csstidy 1.1的。它同样语法高亮,这使理解代码更加容易。它也列出了它做的改变,以及它注意到的任何错误。
第三位是CSS Optimizer,它是最简单的一个。它没有前两者的一些功能,但是比起最后一名的 Flumpcakes CSS 来其代码显示好得多。
Flumpcakes比CSS优化器多一些选项,但是它界面没有后者简洁。我设置后,结果页面显示得极其丑陋。它甚至不告诉用以比较的测量单位。
结论
CSS优化是一种不用牺牲太多(仅仅牺牲了可读性)就能加快页面下载的有效方式。对于下载速度3KB/S的拨号用户来说,仅仅节约10KB意味着页面加载快了三分钟。想象一下ESPN节约了将近18KB。把它乘以站点获得的庞大访问,这些是实实在在的提升--有价值的节约。