通用
- 用2个空格缩进 
- 文件、目录名全部小写,单词之间用”_”隔开 
- 文件统一采用UTF-8编码 
- 删除行位多余的空格 
HTML
- 标签合理化,对于兼容性要求不高的可使用HTML5的语义化标签,如header、footer、article、section等 
- 标签合理嵌套,越短越好,dom层级尽量简单 
- 尽量使用class,少用id 
- class、id命名形象化,一律采用小写,单词之间”-“隔开,不允许使用大写字母和”_” 
- 自定义的属性以”data-“开头 
- 属性编写顺序: - class
- id,name
- data-*
- src,for,type,href,value
- title,alt
- role,aria-*
 
- meta IE 兼容模式 - <meta http-equiv="X-UA-Compatible" content="IE=Edge">
CSS
- 不要使用@import,这种指令要慢很多,会增加请求次数,多使用link或使用sass等预处理器
- 用两个空格代替tab,保证能在所有环境下展现一致
- 少使用浮动、定位等布局
- 尽量减少选择器的层级
- CSS左括号与选择器同行,右括号另起一行,左花括号前空一格
- CSS选择器尽量用用class,少使用标签,如p{}、.test p{}等
- 不要在rgb()、rgba()值内部的括号中的逗号后面插入空格
- 对于属性值和颜色知,省略小于1的小数前面的0,如.5代替0.5,-.5px代替-0.5px
- 十六进制应该全部小写,且尽量使用简写形式,例如#fff
- 避免给0值指定单位
- 为选择器的属性添加双引号,如input[type="text"]
- 选择器分组时,将单独的选择器单独放一行
- CSS样式一行只写一条,可读性高
- 媒体查询尽量放在相关规则的地方,否则容易遗忘
- 带前缀的属性,让每个属性在垂直方向对齐,便于阅读 - 1 
 2
 3
 4
 5
 6
 7- /* bad css */ 
 .selector, .selector-secondary, .selector[type=text] {
 padding:15px;
 margin:0px 0px 15px;
 background-color:rgba(0, 0, 0, 0.5);
 box-shadow:0px 1px 2px #CCC,inset 0 1px 0 #FFFFFF
 }- 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10- /* good css */ 
 .selector,
 .selector-secondary,
 .selector[type="text"] {
 padding: 15px;
 margin-bottom: 15px;
 background-color: rgba(0,0,0,.5);
 -webkit-box-shadow:0px 1px 2px #CCC,inset 0 1px 0 #FFFFFF
 box-shadow:0px 1px 2px #CCC,inset 0 1px 0 #FFFFFF
 }
JavaScript
- 变量名、函数名使用小驼峰,如requestFlag 
- 类名使用大驼峰,如ClassData 
- 常量名全面大写并用”_”分隔,jQuery变量使用$开头 
- 在后端返回的数据list中增加前端字段,用”_”开头,区分前后端字段 
- 少使用全局变量和全局函数 
- 代码过多时考虑进行封装 
- 语句以分号结束 
- 避免使用多行注释 - /**/,多使用单行注释- //
- 文件注释 
 开发者信息能够体现开发人员对文件的贡献,这样便于team其他人员快速找到出处,便于后期维护- 1 
 2
 3- /** 
 * Created by Pimi.chen on 2017/04/30.
 */
- 如果是页面html、css由制作同学开发,js由交互同学开发,交互同学拿到页面后如需要在dom中补充class或id,以”JS-“开头,区分css和js所需类 
IMG
- 格式:透明图片使用png,不透明的使用jpg 
- 上线前必须使用tinypng进行压缩图片