日期:2014-03-23  浏览次数:21195 次

网页制造aiyiweb文章简介:当完成一项前端的任务之后,许多人都会忘记该项目的结构与细节。然而代码并不是马上就能完全定型,在余下的时间里还有不断的维护任务,而这些任务也许不会是你本人完成。所以,结构优秀的代码能很大程度上优化它的可维护性。下面列出五种提高CSS文件可维护性的方法,也

参考: Smashing magzine

翻译+整理: Demix

当完成一项前端的任务之后,许多人都会忘记该项目的结构与细节。然而代码并不是马上就能完全定型,在余下的时间里还有不断的维护任务,而这些任务也许不会是你本人完成。所以,结构优秀的代码能很大程度上优化它的可维护性。下面列出五种提高CSS文件可维护性的方法,也就是一种较好的CSS款式指南。

1.分解你的款式

对于小项目,在写代码之前,按页面结构或页面内容将代码分为几块并给予注释。例如,可以分别将 全局款式、规划、字体款式、表单、评论和其他分为几个不同的块来继续任务。

而对于较大的工程,这样显然不会有什么效果。此时,就需求将款式分解到几个不同的款式表文件。下面的master stylesheet 就是这一方法的例子,它的任务次要是导入其他款式文件。使用这一方法不只能优化款式结构,而且有利于减少一些不必要的服务器请求。而分解文件的方法就有许多种,master stylesheet 使用了最常见的一种。

/*------------------------------------------------------------------

[Master Stylesheet]
Project:       Smashing Magazine
Version:       1.1
Last change:       05/02/08 [fixed Float bug, vf]
Assigned to:       Vitaly Friedman (vf), Sven Lennartz (sl)
Primary use:       Magazine
-------------------------------------------------------------------*/
@import "reset.css";
@import "layout.css";
@import "colors.css";
@import "typography.css";
@import "flash.css";
/* @import "debugging.css"; */

同时对于大型项目,你也可以加上CSS文件的升级标志或者一些诊断措施,这里不再详述。

2.建立CSS文件索引

为了能够迅速的了解整个CSS文件的结构,在文件开头建立文件索引是一个不错的选择。一种可行的方法是建立树形的索引:结构上的id 和 class 都可以成为该树的一个分支。如下:

/*------------------------------------------------------------------
[Layout]
* body
      + Header / #header
      + Content / #content
            - Left column / #leftcolumn
            - Right column / #rightcolumn
            - Sidebar / #sidebar
            - RSS / #rss
            - Search / #search
            - Boxes / .box
            - Sideblog / #sideblog
      + Footer / #footer
Navigation         #navbar
Advertisements         .ads
Content header         h2
——————————————————————-*/

或者也可以这样:

/*------------------------------------------------------------------

[Table of contents]
1. Body
      2. Header / #header
            2.1. Navigation / #navbar
      3. Content / #content
            3.1. Left column / #leftcolumn
            3.2. Right column / #rightcolumn
            3.3. Sidebar / #sidebar
                  3.3.1. RSS / #rss
                  3.3.2. Search / #search
                  3.3.3. Boxes / .box
                  3.3.4. Sideblog / #sideblog
   &