Truly
写精彩代码 品暇逸人生

(四)、 网页加速之CSS辅助减肥篇

WEB网站可用性的关键指标是速度,更确切地说,是页面能以多快的速度出现在访问者的浏览器窗口里。影响速度的因素有很多种,包括WEB服务器的速度、访问者的INTERNET连接情况,以及浏览器必须下载的文件大小。尽管你无法控制服务器和连接的速度,但是你可以控制构成网站WEB页面的文件大小。

 
为了让网站能够更快,WEB的建设者都会按常规地压缩和优化网站上的每一个图像文件,这常常使得为了将文件的大小减少几个百分点而牺牲了图像的质量。由于CSS样式表是纯文本文件,和图像相比相对较小,所以WEB建设者很少考虑采取措施减少其CSS样式表文件的大小。但是,通过使用CSS缩写以及其他的一些简单技巧,你可以在很大程度上减少样式表的大小。在我对自己样式表的一次非正式的特别测试中,我把文件的大小降低了大约25-50%。

使用CSS的缩写性质
CSS的缩写性质(SHORTHAND PROPERTY)是一些专用的性质名,用来代替多个相关性质的集合。例如,间隙性质(PADDING PROPERTY)是顶部间隙(PADDING-TOP)、右侧间隙(PADDING-RIGHT)、底部间隙(PADDING-BOTTOM)和左侧间隙(PADDING-LEFT)的缩写。

使用速写性质让你能够把多个性质/属性对(PROPERTY/ATTRIBUTE PAIR)压缩进CSS样式表的一行代码里。例如,想一想下面的代码:

.SAMPLE1 {
    MARGIN-TOP: 15PX;
    MARGIN-RIGHT: 20PX;
    MARGIN-BOTTOM: 12PX;
    MARGIN-LEFT: 24PX;
    PADDING-TOP: 5PX;
    PADDING-RIGHT: 10PX;
    PADDING-BOTTOM: 4PX;
    PADDING-LEFT: 8PX;
    BORDER-TOP-WIDTH: THIN;
    BORDER-TOP-STYLE: SOLID;
    BORDER-TOP-COLOR: #000000;
}

将它用一些缩写性质来替代就能够把代码减少为下面这样,两者的实际效果是完全一样的:

.SAMPLE1 {
    MARGIN: 15PX 20PX 12PX 24PX;
    PADDING: 5PX 10PX 4PX 8PX;
    BORDER-TOP: THIN SOLID #000000;
}

要注意,缩写性质还有多个属性,每一个(属性)都对应一个被组合进入缩写性质的常规性质。属性由空白隔开。

当属性是类似的值的时候,例如用于边框空白性质(MARGIN PROPERTY)的线性测量的时候,接在缩写性质之后的属性的顺序很重要。属性的次序是从顶部(顶部的边框空白)开始,然后围绕格子(BOX)按顺时针次序继续。

如果缩写性质的所有属性都是相同的,那么你可以简单地列出单个属性,然后在前面将它复制四遍。因此,下面的两个性质是相等的:

    MARGIN: 5PX 5PX 5PX 5PX;

    MARGIN: 5PX;

类似的,你可以使用接在边框空白或者间隔性质之后的两个属性来代表顶部/底部和右侧/左侧属性对。

    MARGIN: 5PX 10PX 5PX 10PX;

    MARGIN: 5PX 10PX;

属性的顺序在它们是不相似的值的时候是不重要的。因此,边框颜色、边框风格和边框宽度等属性可以以任何顺序接在大纲性质(OUTLINE PROPERTY)之后。忽略某个属性等同于从样式规则里忽略掉对应的常规性质。

CSS缩写性质列表

 
下面是CSS缩写性质的列表以及它们所表示的常规性质。

BACKGROUND(背景):背景附件、背景颜色、背景图像、背景位置、背景重复
BORDER(边框):边框颜色、边框风格、边框宽度
BORDER-BOTTOM(底部边框):底部边框颜色、底部边框样式、底部边框宽度
BORDER-LEFT(左侧边框):左侧边框颜色、左侧边框样式、左侧边框宽度
BORDER-RIGHT(右侧边框):右侧边框颜色、右侧边框样式、右侧边框宽度
BORDER-TOP(顶部边框):顶部边框颜色、顶部边框样式、顶部边框宽度
CUE(声音提示):前提示、后提示
FONT(字体):字体、字号、字体样式、字体粗细、字体变体、线高度、字体大小调整、字体拉伸
LIST-STYLE(列表样式):列表样式图像、列表样式位置、列表样式类型
MARGIN(空白):顶部空白、右侧空白、底部空白、左侧空白
OUTLINE(大纲):大纲颜色、大纲样式、大纲宽度
PADDING(间隙):顶部间隙、右侧间隙、底部间隙、左侧间隙
PAUSE(暂停):后暂停、前暂停
减少空白

减少CSS样式表大小的另一种方法是从文档里删掉大多数无用的空白。换句话说,将每条规则打破放进一行代码里,即把原来插入到代码里用来把每个性质/属性分割到不同行的换行符和缩进符删掉。

例如,下面的代码示例在内容上相同,但是第二个要精炼得多:

H1 {
    FONT-SIZE: X-LARGE;
    FONT-WEIGHT: BOLD;
    COLOR: #FF0000;
}

 

H1 {FONT-SIZE: X-LARGE; FONT-WEIGHT: BOLD; COLOR: #FF0000}

删掉注释

将注释从你的CSS代码里删掉是减少文件大小的另一种方式。尽管注释对于代码的阅读很有用,但是它无助于浏览器生成你的WEB页面。很多WEB建设者都习惯给每一行代码都加上注释,或者至少给每一条规则声明都加上。这样的慷慨注释在CSS样式表里是极少需要的,因为大多数CSS性质和属性都很容易阅读和理解。如果你对类、ID,以及其他的选择器都使用有意义的名称,你就可以省掉大多数的注释,同时仍然能够保持代码的可读性和可维护性。

H1 {                    /* HEADING 1 STYLE*/
    FONT-SIZE: X-LARGE; /* X-LARGE SIZE */
    FONT-WEIGHT: BOLD;  /* BOLD */
    COLOR: #FF0000;     /* RED */
}

使用速写性质、删除无用的空白、省略注释都能够在很大程度上减少你CSS样式表文件的大小。这反过来会对加速你WEB网站速度的总体目标作出小的、但是可能会是显而易见的贡献。

posted on 2006-11-09 22:17  Truly  阅读(1310)  评论(3编辑  收藏  举报