架构库 李嘉文的架构规范

CSS 编码规范


  • 使用UTF-8编码来保存文件,

  • 尽量少用多重选择器或后代选择器,因为这会影响性能

/* 不推荐 */ 
ul#example {} 
div.error {} 
/* 推荐 */
#example {} 
.error {}
  • 使用组合属性。比如font,margin,padding

/* 不推荐 */ 
.example{
  margin-top:0;
  margin-right:10px;
  margin-bottom:5px;
  margin-left:10px;
} 
/* 推荐 */ 
.example{
  margin:0 10px 5px;
}
  • 如果css属性的值为0,则后面不要带上单位。除非真的是需要

margin: 0;
padding: 0;
  • 在URI类型的值里不要加上引号,比如:

background:url(images/icon.png);
  • 如果有可能,尽量使用3个字符的十六进制数

/* 不推荐 */ 
color: #eebbcc; 
/* 推荐 */
color: #ebc;
  • 背景图片请尽可能使用sprite技术, 减小http请求, 考虑到多人协作开发, sprite按模块制作;

  • 代码缩进与格式: 每个css属性声明后都要使用一个分号,在紧跟属性名的冒号后使用一个空格,每一个css选择器或是属性声明都要新起一行

h1, h2, h3 {   font-weight: normal;   line-height: 1.2; }
  • ID和class的命名规则参考html-6,在ID和class中使用‘-’来作为连字符。具体可以根据当前功能模块命名。比如:

.btn
.btn-success
.btn-info
.btn-warning
.btn-larger
.btn-small
  • 必须为大区块样式添加注释, 小区块适量注释;

/*注释*/
.example{
  
}
  • 对于媒体查询的css直接写在对应css选择器下面

.example{
   width:100px;
}
 @media (max-width: 768px) {     .example {       width:50px;
    }   }
  • 避免使用css hack,优先考虑使用另一种写法来解决

  • 避免使用css表达式expression(标准、性能、安全性等问题)

  • 不要使用@import引入样式文件,对页面性能很有影响,(使用@import导入的CSS,客户端在浏览网页时是先将html的结构呈现出来,再把外部的CSS文件加载到网页当中。在IE6/7/8中,这会导致样式表文件逐个加载,并行下载资源是加速页面的一个关键。这种方法在IE中会导致页面需要更多的时间才能加载完成,)

  • 书写代码前, 考虑并提高样式重复使用率;

  • 使用合法、规范的css,可以通过W3C CSS validator来进行验证。