CSS 缩写技巧

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

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缩写性质的列表以及它们所表示的常规性质。

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网站速度的总体目标作出小的、但是可能会是显而易见的贡献。


转自 CSDN 作者: webdream2000

发表评论

最新日记

  • 身体不适 回归健身房

    手断了也快3个月了,国庆长假期间去了一次健身房,惊喜的发现终于能卧推了,当然重量下去很多,只能推两片菜园小饼了。这意味着我能恢复训练了,用到手腕的动作都可以恢复了。不过发现一个很悲剧的情况,最近腰不太好,可能是每天折叠车拿上拿下,我的腰好像前所未有的不舒服,涂了黄道益,没见好转,真让人沮丧,需要慢慢的恢复训练,并且补充营养品了。...

  • 伤筋动骨确实需要100天手终于恢复过来了

    骨折到现在一直很失落,因为骨折让我感觉到自己不那么健康,因为骨折让自己失去篮球和其他运动的能力,失去去健身房锻炼的权利。今天,距离716骨折已经2个多月了,做了下俯卧撑,不痛了,太好了我很激动,我知道手腕快好了,恩。我要更注意自己的保护了。 西藏北路的房子有优点也有缺点,优点是感觉房子蛮大的,没有厅所以房间很大,个人空间大,离开8号线站头步行3分钟,交通便捷,去哪里都很方便,自行车到四川路也就8分钟,离开公司那就更近了,舒服。缺点是,虽然马路边风景好了,但是很吵闹,尤其低音从骨骼传递而已,让人感觉很难过,睡觉不好,不过现在已经适应了,无法停车汽车或者电瓶车都没有位置停,停楼下肯定要被偷,不过我发现八号线门口好像有停车场,可以免费停业不错。ADSL还没有转移过来,有线电视倒是好了。最后希望拆迁顺利点。...

  • 车车终于买好了,明锐1.8t

    又是一段时间没写blog,可能是装上MT之后更新频率最慢的一段时间吧。我也不知道为什么,但是总是不能有精神的写。可能自己手腕还没完全恢复,很沮丧吧。 最近的大事就是车子买好了,上海大众斯柯达新明锐2010款1.8t,灰色的,7速dsg变速箱,逸俊版,j加装了ESP,安全很重要。真是相当相当的喜欢,完美的地盘完美的动力配置,外加新款的造型,让人很满意,安全方面假装ESP。比较可惜就是方向盘是全塑料的,没有选择价值3500的选装包5,包含更多的两个喇叭,大点阵的仪表显示屏,一个触摸屏CD机,真皮带蓝牙方向盘,有点点后悔。但是有了更好的选择,RS的真皮方向盘,带拨片式换挡片,配合DSG时王道般的选择。CD,DVD,GPS这种纯娱乐电子的东西是完全不需要,原厂的贵的不行,哪怕国产的都是很贵,一个本本才多少钱,花个几千买电子产品是很不划算的行为,不过也有选择,比如西门子的VDO和明锐的CAN盒完美匹配。还需要一套金属的踏脚板,便宜的很,一套固德的8件套金属件,包含迎宾踏板等。性能方面改装要很多钱,但是可以设想下,仿BBS的轮毂一套,17寸的米其林轮胎一套,b12避震一套完全用不着更好的产品,淘一套拆车的尚酷或者随便什么PQ35系大尺寸刹车,完美车车立即呈现。恩。开心点吧...

  • 一个月拉 身体在快速的康复中

    一下就一个多月没写blog,没有记录生活。不为别的,只是老夫的手骨折了,三角骨撕脱性骨折。这一个月经历了很多事情,尤其一个月前七月十七日。老夫领了结婚证,成为已婚人士。当然是带着手腕的剧痛领的,领完就去瑞金医院绑了石膏。领证前一天想娱乐娱乐,冒着大雨去打篮球,只怪闸北IC的地板太光滑,动作一做出来就摔了,很惨,三角骨就这样骨折了。还好是小伤,大前天拆掉了石膏,恢复中。每天一副云南白药,带上一个护腕,这两天恢复下来,感觉明显好转。从刚拆的有轻微的牵扯静脉的感觉,到现在基本很OK,云南白药对我帮助很大。希望身体快点恢复。这1个多月没有去健身房,有点脂肪堆积了,要开始强化的有氧了。...

  • 几乎一个月没有写blog了 已经完全夏天了 不过没感觉到热....

    上海已经完全夏天了,不过最近雨季,没有前些日子那么闷热。每天家,公司,健身房三点一些,好在都有空调,所以没有感觉到不舒服。但是肚子好像不争气,肠胃不是很好,虽然吃东西已经很注意了。 夏天到来最大的一个好处就是电瓶车的行驶里程大了很多,明显比冬天的时候行程更长,持久高电压带来更高的速度,铅酸电池真是难伺候。不过话说GIANT上的三洋电池用了三年还是如此坚挺,感觉很欣慰。 本周结束,为期一个月的停止供应的补剂,也要准备恢复,迫不及待的想尝试肌肉科技的那绝对美味的蛋白粉了。 然后,7月17要经历一个大事件了。...

关闭