1.3.2 对代码进行注释
在编写自己的样式表时,你可能很清楚它们的结构、曾经遇到的问题以及为什么采用某种方式。但是,如果六个月之后再来看这个样式表,你很可能已经忘了许多事情。另外,可能需要将自己的CSS交给其他人去实现,或者其他开发人员以后需要编辑你的代码。因此,对代码进行注释是一种好做法。
在CSS中添加注释非常简单。CSS注释以/*开头,以*/结束。这种注释称为C网格的注释,因为C语言中使用这种注释。注释可以是单行的,也可以是多行的,而且可以出现在代码中的任何地方。
/* Body style */
body
font-size:67.5%; /* set the font size */
}
1. 添加结构性注释
在创建新的样式表时,我做的第一件事是在开头添加一个注释块,它描述这个样式表的用途、创建日期或版本号、创建者以及如何与创建者联系:
/*-----------------------------------------
basic style sheet (for version 4 browsers)
version: 1.1
author:andy budd
email:info@andybudd.com
websit:http://andybudd.com/
这使其他开发人员能够了解这个文件的概况,了解它是否是最近编写的,如果有某些东西无法理解,他们还可以与原来的作者联系。
然后,我将样式表分成几大块。我常常首先编写一般规则,比如版式、标题和链接。接下来,根据在文档流中出现的次序处理页面的主要部分。这通常包括品牌部分、主要内容、次要内容、主导航、辅助导航和页脚部分。最后,处理在整个站点上无规律地出现的一般元素。这常常包括框样式、表单样式和图形按钮。与介绍性注释相似,我用风格统一的大注释块从视觉上分隔每个部分:
/* typography
---------------------------------------------------------------*/
并非所有东西都能够自然地分成定义明确的块,这需要开发人员进行判断。请记住,代码的分隔越细致、越合理,就越容易理解,而且能够更快地找到要寻找的规则。
如果CSS文件非常长,那么寻找特定的样式会很困难。一种改进方法是在每个注释头中添加一个标志。这个标志仅仅是头文本前面的一个额外字符,这个字符一般不会出现在CSS文件中。搜索这个标志和注释头中的前几个字母,就可以立即找到要寻找的文件部分。所以,在下面的示例中,搜索“=typ”就会立即找到样式表中的版式部分:
/* =typography
---------------------------------------------------------------*/
因为许多CSS文件可能具有相似的结构,可以创建一个预先加上注释的CSS模板供所有项目使用,从而节省时间。还可以添加在所有站点上都使用的常用规则,形成某种原型CSS文件,这可以节省更多的时间。这样的话,在开始新项目时就不必总是重复以前的工作。在本书的下载代码中可以找到一个原型CSS文件示例。
2. 自我提示
有时候,可能需要用某种技巧解决某个问题。在这种情况下,最好记录这个问题、你使用的解决方案和解释这个修复方法的URL(如果有的话):

为了使注释更有意义,可以使用关键字来区分重要的注释。我使用TODO来表示某些东西需要在以后进行修改、修复或复查;用BUG表示代码或特定浏览器遇到的问题;用KLUDGE表示并不完善的权宜之计:

还可以使用关键字TRICKY提醒其他开发人员注意某些特别复杂的代码段。用编程的术语来说,这些关键字称为意外特性(gotcha),它们对于以后的开发阶段非常有帮助。
3. 删除注释和优化样式表
注释会使CSS文件显著加大。因此,你可能需要从样式表中去掉一些注释。许多HTML/CSS和文本编辑器都有搜索并替换选项,因此很容易从代码中删除注释。另外,还可以使用几种在线CSS优化器之一(比如www.cssoptimiser.com/上提供的优化器)。优化器不但能够删除注释,还可以删除空白,这可以从代码中去掉额外的字节。
有些人尝试以PHP格式编写注释,然后将样式表用做PHP。样式表被发送给PHP解析器,解析器去掉所有注释,然后将样式表发送给浏览器。这需要在一个.htaccess文件中设置CSS文件的MIME类型:

但是,需要确保CSS文件被缓存,否则这种方法会减慢而不是提高站点的速度。这可以使用PHP来实现,但是比较复杂。因此,除非对要做的事情有把握,否则最好避免这么做。
最好的方法可能是启用服务器端压缩。如果使用Apache服务器,那么应该安装mod_gzip或mod_deflate。许多现代浏览器可以处理用GZIP压缩的文件并进行即时解压。这些Apache模块探测浏览器是否能够处理这种文件,如果可以,就发送压缩的版本。服务器端压缩能够将(X)HTML和CSS文件减小大约80%,这可以减少对带宽的占用,大大加快页面的下载速度。如果无法使用这些Apache模块,那么仍然可以按照http://tinyurl.com/8w9rp上的教程的说明对文件进行压缩。
购买《精通CSS:高级Web标准解决方案》:http://shop.csai.cn/itbook/itbookinfo.asp?lbbh=10014414