提高CSS代码的可读性

作者:demix 来源:蓝色理想 时间:2008-05-11 18:59:00 

参考: 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
                  3.3.5. Advertisements / .ads
      4. Footer / #footer

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

另一种方式可以只是先简单的将内容列举出来,也不需要缩进。下面的一个例子中,如果你需要跳至RSS部分你只需要简单的搜索 8.RSS。

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

[Table of contents]
1. Body
2. Header / #header
3. Navigation / #navbar
4. Content / #content
5. Left column / #leftcolumn
6. Right column / #rightcolumn
7. Sidebar / #sidebar
8. RSS / #rss
9. Search / #search
10. Boxes / .box
11. Sideblog / #sideblog
12. Advertisements / .ads
13. Footer / #footer

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

<!-- some CSS-code -->

/*------------------------------------------------------------------
[8. RSS / #rss]
*/
#rss { ... }
#rss img { ... }

定义这样一个样式检索可以很有效的使其他人阅读学习你的代码变得容易。在制作大项目的时候,你也可以将检索打印出来从而在你阅读代码的时候方便查阅。

标签:样式,索引,颜色,css
0
投稿

猜你喜欢

  • 余弦相似性计算及python代码实现过程解析

    2021-10-15 14:44:56
  • python 多线程实现检测服务器在线情况

    2021-12-11 15:15:58
  • Django通用类视图实现忘记密码重置密码功能示例

    2022-12-04 13:06:06
  • keras 两种训练模型方式详解fit和fit_generator(节省内存)

    2021-04-12 20:35:39
  • Python调用系统底层API播放wav文件的方法

    2021-10-02 06:54:13
  • iframe的防插与强插(二)

    2009-03-03 12:37:00
  • MySQL对JSON类型字段数据进行提取和查询的实现

    2024-01-23 02:48:54
  • GOOGLE LOGO 设计演化过程

    2008-02-13 19:41:00
  • python判断一个集合是否包含了另外一个集合中所有项的方法

    2022-01-15 19:08:06
  • python中的不可变数据类型与可变数据类型详解

    2022-12-27 21:56:24
  • MySQL Explain命令用于查看执行效果

    2009-02-27 15:30:00
  • Python使用PyYAML库读写yaml文件的方法

    2021-03-26 03:53:32
  • SQL联合查询inner join、outer join和cross join的区别详解

    2024-01-14 21:33:41
  • Mysql DDL常见操作汇总

    2024-01-22 05:30:09
  • python爬虫字体加密的解决

    2021-02-22 12:25:57
  • Access 2002的三个实用技巧

    2007-10-22 12:22:00
  • 多语言网站开发 不完全技术分析

    2008-02-18 12:52:00
  • 利用Python为iOS10生成图标和截屏

    2021-05-03 11:15:09
  • 浅析mmdetection在windows10系统环境中搭建过程

    2022-05-03 17:37:37
  • Anaconda+vscode+pytorch环境搭建过程详解

    2022-04-06 01:37:19
  • asp之家 网络编程 m.aspxhome.com