当前位置: 首页 > 网络学院 > 网页制作基础教程 > CSS > CSS 编码与组织技巧

CSS
CSS 介绍
CSS 语法
使用 CSS
CSS 背景
CSS 文字
CSS 字体
CSS 边框
CSS 边距
CSS 填充
CSS 列表
CSS 尺寸
CSS 类别
CSS 定位
CSS 伪类
CSS 伪元素
CSS2 Media类型
CSS 摘要
CSS 实例
CSS2 参考资料
CSS2 打印

CSS 编码与组织技巧


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-03-01   浏览: 576 ::
收藏到网摘: n/a

  如何让 CSS 代码简洁而易于编写?这恐怕是许多开发者都关心的问题。我想,大概没有什么魔法,可以保证一下就把你的样式表缩小到百分之多少,但合理的 CSS 编码与组织技巧,的确能够帮助你的更有效率地写出更清晰高效的代码,自然,样式表大小的缩减还能减少下载的时间。

组织你的样式表

  尽管我们有种种 CSS 的开发工具,比如 TopStyle,比如 StyleMaster,它们可以让你对当前这个样式表里面定义了哪些规则,涉及哪些 class,哪些 ID 一目了然,但这不等于说你的样式表就组织清晰了,随写,随看,随改大概是我们常用的开发方式,一开始样式表还有点层次,后面这里加一点,那里加一点,就越 来越乱了。所以不妨考虑规范一下你的写作方式。

  大概有两种组织方式,一种是我们常用的,把所有的描述同一个元素 (和它的子元素) 的规则都放到一起来,那么如果需要查阅页面中某个元素究竟受哪些规则影响的时候,就不必在整个样式表中翻来翻去了。

另一种也值得参考,即,把描述某些特性的规则放到一处,把描述另一些特性的放到另一处,比如说关于颜色的定义,放到 color.css 文件中,描述字体的定义,放到 font.css 中,描述布局的定义,放到 layout.css 中,这也能让你的样式表结构清晰,方便理解。最大的优点是,如果你希望换一套配色方案,可以只修改一下 color.css,完全不必担心其他的规则是否会影响页面的颜色。

  在传统的程序设计中,我们常常提到程序的风格是如何重要,培养良好的编码风格甚至远比掌握程序的语法和语义重要,尽管 Web 设计者不一定要掌握那些程序设计的技巧,但培养良好的 CSS 编写风格的确是很有用的。

使用属性缩写

  属性缩写的介绍可以参考ruanchen.com上的其它相关文章,这里我们来小结一下:
首先,有这么几个常用的属性缩写:

   font
background
list-style
margin
border
padding

  多数是可以把几个常规属性合并到一起使用的,也就是说,可以给这些简记属性赋予好几个值,每个值之间用空格分隔。

  第三,margin, border 和 padding 都遵循中顺时针原则,如果给定了四个值,从上方开始每次顺时针转 90 度。

  如果给定了三个值,则是上侧一种,左右同一种,下侧一种。
如果给定了两个值,就是上下一种,左右一种。
如果只给了一个值,那就是都一样。
简记属性(属性缩写)的使用,见仁见智,一方面,它的确是可以大大缩短代码 (如果用得频繁的话),另一方面,修改的时候又未免带来不直观和不方便。

利用继承和默认值

  同样参见 书写高效的 CSS 中的相关章节,我想,这也得斟酌使用,首先,继承和默认值在 W3C 标准中都没有严格 (must) 的规定 (BTW, 就算有又如何呢?),浏览器未必真的会像你预期的那样去实现,某些属性的默认值真的是 0 么?在所有浏览器里都是 0 么?需要反复尝试后总结经验;再者,如果代码中含有过多的这样的“隐喻”,就未免不大好读了,某某元素会显示出某某特性,乃是继承自它的父元素……在编写 样式表的当天你可能还清楚,过一段时间忘了,就会很奇怪为什么不曾定义这个规则却又显现出那个特性了。
所以建议,如果你要用到继承和默认值来简化代码的话,最好写下一些注释予以说明。

利用多个 class 和多元选择符

  一个 HTML 元素可以属于多个类,比如这样:

<td class="subtotal negative">(-$422.72)</td>

  你可以给“合总”的那些表格栏设定一个样式,再给包含负数的那些表格栏设定一个样式,把它们叠加在上面:

.subtotal {font-weight: bold;}
.negative {color: red;}

  这种特性有时能够让你很灵巧地实现一些功能,即缩短了 HTML 代码,又清晰了 CSS 规则。
关于多个 class 的详细说明 (包括选择符的兼容性测试..) 请参考ruanchen.com的相关文章介绍。

小结

  选择一种 CSS 规则的组织方式,并坚持使用它!
谨慎地使用一些虽然能够简短代码,但会影响可读性的书写方式!
适时地了解一些已经普遍实现的 CSS2 新特性,能够大大方便你的设计!

评论 (0) All

登陆 | 还没注册?