精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
返回建站学首页
导航:
建站首页 | 网站设计 | 网站开发 | 网站运营 | 网页软件 | 建站指南 | 搜索优化 | 图像处理 | 视频教程 | 书籍教程 | 建站专题
当前位置:首页>网站设计>css教程>正文

书写高效CSS


来源: 时间:06-12-18 点击: 点击这里收藏本文

学点高效地进行CSS编码的技巧吧,让你把样式表马上裁减到最小为止。自然,你可能看不到什么惊人的改变,但对于大站来说,微小的字节减少也很重要。


效率有什么用?
CSS被吹捧的好处之一就是它能减小页面大小,由此缩短下载时间,不仅仅是首页的载入,还包括样式表被缓存以后,后续页面的载入也被加快了的那部分时间。这没错,但首页载入时间的缩短几乎看不出来,这是因为CSS代码往往过于冗长了。

好吧,现在一切都不同了。

有很多地方可以减少代码的长度,包括简记属性(shorthandproperties),多重声明 (multipledeclarations),默认值(defaultvalues),继承(inheritance),和空白 (whitespace)。

简记属性

Zeroingpagemargins提到了一组这样的简记属性,但对于此还有更多的。

通常简记属性包括:

 

font(控制"font-size","font-weight","line-height",等等)
background(控制元素的背景,放置位置,重复次数,等等)
list-style(设置列表元素前边那个“原点”的属性)
margin(定义box各侧的边缘空白(margin)宽度)
border(定义box边界(border)的属性——有很多和边界有关的简记属性)
padding(定义box各侧的补白(padding)宽度)
上述项目是链接至W3CCSS2规范的相关章节的。


 例如,font属性是用于同时设置font-style,font-variant,font-weight,font-size, line-height,和font-family的简记属性。当然,它们并非全都必须写在简记属性中。一旦在简记属性中忽略了其中某个,那些缺 失的属性都将被设置为它们的初始值,就像W3C规范中fontproperty一节提到的那样。若需要控制很多和字体相关的属性,使用 这个简记属性就可以省下样式表中的大量字节了。

background和list-style属性也是如此。现在还剩下关于CSS盒(box)模型四边的那些属性和一点没法归类的杂碎了。

盒侧边的简记属性

任何块级(blocklevel)元素(像div,表格,列表,段落等)的四边都有边白(margin),边界 (border),和补白(padding),都可以分别设置不同的宽度。对于边界(border)来说,还能给每边分配不同的border -style和border-color。若要一条条地显式地指明所有这些属性,代码就会变得很冗长。使用简记规则的意义正在于此:彻底地减少 这样负担。

“钟面”
 当需要指定这三类“盒侧”属性之一,而且各侧的情况又是一样的时候,使用简记属性最基本的功能就行了:

 

margin:5px;
border-width:5px;
padding:5px;


 注意:要让边界显示出来,还必须设置border-style属性,否则单有border-width边界是显示不出来的。既可以直接通过border-style来设置它,也可以通过border属性。

然而很有可能某一侧需要一个不同的值,这时CSS的“钟面”特性就上台了。把此处的盒子想象为一个钟面,当指针指向12点时,表示 盒子的正上方,这就是简记属性中第一个值的含义;下一个是3点,这是盒子的右侧;接下来是6点,表示盒子的下方;最后呢是9点,盒子的左侧。

让我们看看这个例子吧。在页面中我们需要一个10px上边白,5px右边白,3px下边白,无左边白的盒子。则margin简记属性应该这么写:

 

margin:10px5px3px0;


 在属性的声明中,几个值必须也只能用空格来分隔。而且只要那个值不是零,就必须给它指定单位。

为什么零宽度的边白就不需要指定单位了呢?因为零个任何单位(px,em,%,等等)的值也就等于任意其他单位的值。

改进的钟面

当某些值重复时,这些“盒侧”属性还能压榨得更短。前面提到过,若各侧都一样,可以只指定一个,让它应用到全部。而一旦顶部和底部的样式是一致的,左侧和右侧却是另一种,margin的代码可以这么写:

 

margin:10px5px;


 这行代码把顶部和底部的边白设置为10px,两侧设为5px。最后一个技巧是这样的:若顶部和底部的不同,两侧的却是一样的,比如上边白10px,左右边白5px,下边白20px,我们可以这么写:

9 7 3 1 2 3 4 8 :

  把此文章收藏到:          
广而告之
文章搜索
  • Google JZxue.Com

关于我们 | 联系我们 | 友情链接 | 网站地图
Copyright © 2005 - 2006 建站学 All rights reserved.