编写高效整洁CSS代码三大原则

开发 前端
CSS代码简洁实用,并且CSS学起来并不难,但在大型项目中,就变得难以管理,特别是不同的人在CSS代码书写风格上稍有不同,这里向大家描述一下实现高效整洁的CSS代码原则。

本节向大家介绍三个编写高效整洁CSS代码原则,它们分别是使用Reset但并非全局Reset,良好的命名习惯和使用代码缩写,相信通过本文的学习你对如何编写高效整洁CSS代码有一定的认识。

高效整洁CSS代码原则

CSS学起来并不难,但在大型项目中,就变得难以管理,特别是不同的人在CSS代码书写风格上稍有不同,团队上就更加难以沟通,为此总结了一些如何实现高效整洁的CSS代码原则:

1.使用Reset但并非全局Reset

  不同浏览器元素的默认属性有所不同,使用Reset可重置浏览器元素的一些默认属性,以达到浏览器的兼容。但需要注意的是,请不要使用全局Reset:

viewsourceprint?

  1. *{margin:0;padding:0;}  
  2.  

  这不仅仅因为它是缓慢和低效率的方法,而且还会导致一些不必要的元素也重置了外边距和内边距。在此建议参考YUIReset和EricMeyer的做法。我跟EricMeyer的观点相同,Reset并不是一成不变的,具体还需要根据项目的不同需求做适当的修改,以达到浏览器的兼容和操作上的便利性。我使用的Reset如下:

viewsourceprint?

  1. /**清除内外边距**/  
  2.  
  3. body,h1,h2,h3,h4,h5,h6,hr,p,  
  4.  
  5. blockquote,/*structuralelements结构元素*/  
  6.  
  7. dl,dt,dd,ul,ol,li,/*listelements列表元素*/  
  8.  
  9. pre,/*textformattingelements文本格式元素*/  
  10.  
  11. form,fieldset,legend,button,input,textarea,/*formelements表单元素*/  
  12.  
  13. th,td,/*tableelements表格元素*/  
  14.  
  15. img/*imgelements图片元素*/{  
  16.  
  17. border:mediumnone;  
  18.  
  19. margin:0;  
  20.  
  21. padding:0;  
  22.  
  23. }  
  24.  
  25. /**设置默认字体**/  
  26.  
  27. body,button,input,select,textarea{  
  28.  
  29. font:12px/1.5'宋体',tahoma,Srial,helvetica,sans-serif;  
  30.  
  31. }  
  32.  
  33. h1,h2,h3,h4,h5,h6{font-size:100%;}  
  34.  
  35. em{font-style:normal;}  
  36.  
  37. /**重置列表元素**/  
  38.  
  39. ul,ol{list-style:none;}  
  40.  
  41. /**重置超链接元素**/  
  42.  
  43. a{text-decoration:none;color:#333;}  
  44.  
  45. a:hover{text-decoration:underline;color:#F40;}  
  46.  
  47. /**重置图片元素**/  
  48.  
  49. img{border:0px;}  
  50.  
  51. /**重置表格元素**/  
  52.  
  53. table{border-collapse:collapse;border-spacing:0;}  
  54.  

 #p#2.良好的CSS代码命名习惯

  无疑乱七八糟或者无语义命名的CSS代码,谁看了都会抓狂。就像这样的代码:

viewsourceprint?

  1. .aaabb{margin:2px;color:red;}  
  2.  

  我想即使是初学者,也不至于会在实际项目中如此命名一个class,但有没有想过这样的CSS代码同样是很有问题的:

viewsourceprint?

  1. <h1>Mynameis<spanclassspanclass="redblod">Wiky</span></h1> 
  2.  

  问题在于如果你需要把所有原本红色的字体改成蓝色,那修改后就样式就会变成:

viewsourceprint?

  1. .red{color:bule;}  
  2.  

  这样的命名就会很让人费解,同样的命名为.leftBar的侧边栏如果需要修改成右侧边栏也会很麻烦。所以,请不要使用元素的特性(颜色,位置,大小等)来命名一个class或id,您可以选择意义的命名如:#navigation{...},.sidebar{...},.postwrap{...}

  这样,无论你如何修改定义这些class或id的样式,都不影响它跟HTML元素间的联系。

  另外还有一种情况,一些固定的样式,定义后就不会修改的了,那你命名时就不用担忧刚刚说的那种情况,如

viewsourceprint?

  1. .alignleft{float:left;margin-right:20px;}  
  2.  
  3. .alignright{float:right;text-align:right;margin-left:20px;}  
  4.  
  5. .clear{clear:both;text-indent:-9999px;}  

  那么对于这样一个段落

viewsourceprint?

  1. <pclasspclass="alignleft">我是一个段落!</p> 
  2.  

  如果需要把这个段落由原先的左对齐修改为右对齐,那么只需要修改它的className就为alignright就可以了。#p#

3.CSS代码缩写

  CSS代码缩写可以提高你写代码的速度,精简你的代码量。在CSS里面有不少可以缩写的属性,包括margin,padding,border,font,background和颜色值等,如果您学会了代码缩写,原本这样的代码:

viewsourceprint?

  1. li{  
  2.  
  3. font-family:Arial,Helvetica,sans-serif;  
  4.  
  5. font-size:1.2em;  
  6.  
  7. line-height:1.4em;  
  8.  
  9. padding-top:5px;  
  10.  
  11. padding-bottom:10px;  
  12.  
  13. padding-left:5px;  
  14.  
  15. }  
  16.  
  17. 就可以缩写为:  
  18.  
  19. viewsourceprint?li{  
  20.  
  21. font:1.2em/1.4emArial,Helvetica,sans-serif;  
  22.  
  23. padding:5px010px5px;  
  24.  
  25. }  
  26.  

  如果您想更了解这些属性要怎么缩写,可以参考《常用CSS缩写语法总结》或者下载CSS-Shorthand-Cheat-Sheet.pdf。

【编辑推荐】

  1. CSS代码缩写技巧简明介绍
  2. CSS代码结构div和span初探
  3. CSS代码高效编写规范
  4. DIV CSS网页制作一般流程
  5. DIV CSS解决不规则文字排版问题

 

责任编辑:佚名 来源: tzlink.com
相关推荐

2011-12-02 10:19:24

CSS

2010-09-09 13:59:55

CSS

2011-06-03 15:06:30

CSS

2011-06-03 15:21:51

CSS

2010-08-31 09:52:45

CSS优化

2010-09-09 13:54:06

DIV CSS

2012-03-15 11:15:13

Java设计模式

2011-07-19 18:13:15

高效数据库

2012-03-05 13:58:34

设计模式里氏置换

2012-03-07 10:40:19

Java设计模式

2016-02-26 18:03:17

搜狐

2012-03-07 11:03:13

Java设计模式

2012-03-08 10:57:00

Java设计模式

2010-03-31 17:26:52

SaaS

2011-09-07 09:21:01

设计模式

2015-04-23 16:17:40

云平台华为

2015-09-23 17:12:18

API设计原则

2020-06-09 07:00:00

面向对象编程编程原则

2012-02-01 13:24:37

2015-09-24 08:52:53

API设计原则
点赞
收藏

51CTO技术栈公众号