WEB前端开发规范文档.pdf
-.-WEBWEB 前端开发规文档前端开发规文档目录目录WEB 前端开发规文档 1规目的 2根本准那么 2文件规 2html 书写规 2html 其他规 3css 书写规 4JavaScript 书写规 5jQuery 局部 5开发及测试工具约定 6其他规 6.-可修编-.-规目的规目的为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护 , 输出高质量的文档, 特制订此文档: 本规文档一经确认, 前端开发人员必须按本文档规进展前台页面开发 : 本文档如有不对或者不适宜的地方请及时提出, 经讨论决定前方可更改:根本准那么根本准那么1:符合 web 标准, 语义化 html,遵循容HTML 、显示CSS 、行为JavaScript别离的代码组织模式。2:代码格式化,保持干净整洁。3:换行必须缩进一个 tab。4:编写所有前台页面时,请使用已有模板进展复制,在模板的根底上进展开发。5:每一个页面都必须有一个独立的 css,js 文件。6:如果不是用 HTML5 编写的,请用 IE7,IE8,IE9,火狐,谷歌,webkit,safari 核进展测试兼容性。7:如果是 HTML5 编写的,请用 IE9,火狐,谷歌,webkit,safari 核进展测试兼容性。文件规文件规1: html, css, js, images 文件均归档至约定的目录中;2: html 文件命名: 英文命名, 后缀:htm: 同时将对应界面稿放于同目录中, 假设界面稿命名为中文, 请重命名与 html 文件同名, 以方便后端添加功能时查找对应页面;3: css 文件命名: 英文命名, 后缀:css: 共用 base:css, 首页 index:css, 其他页面依实际模块需求命名:;4: Js 文件命名: 英文命名, 后缀:js: 共用 common:js, 其他依实际模块需求命名:htmlhtml 书写规书写规1:所有元素都必须小写,属性也是,如:正确错误2:元素必须成对出现,如必须写成特殊元素除外,如:.-可修编-.-3:标签中不允许出现样式,必须用 class 来声明样式,如:错误正确4:元素 id 命名必须是驼峰式命名如:正确错误错误5:元素 class 命名规是:元素简写+-+功能名,如:正确错误错误6:元素 name 命名必须遵循驼峰式命名法。正确错误错误7:元素属性必须有值:正确8:元素属性必须用双引号,不允许使用单引号。正确错误9:如果元素需要自定义属性,请用 data-xxx 方式命名。10:严禁使用已在 XHTML1:0 中已移除的标签,如:s,i,b,font 等htmlhtml 其他规其他规1: 文档类型声明及编码: 统一为 html5 声明类型; 编码统一为, 书写时利用 IDE 实现层次清楚的缩进;2: 非特殊情况下样式文件必须外链至:之间;非特殊情况下 JavaScript 文件必须外链至页面底部;3: 引入样式文件或 JavaScript 文件时, 须略去默认类型声明, 写法如下:Example Source Code :52css:4: 引入 JS 库文件, 文件名须包含库名称及版本号及是否为压缩版, 比方 jquery-1:4:1:min:js; 引入插件, 文件名格式为库名称+插件名称, 比方 jQuery:cookie:js;5: 所有编码均遵循 xhtml 标准, 标签 & 属性 & 属性命名必须由小写字母及下划线数字组成, 且所有标签必须闭合, 包括 br (), hr()等; 属性值必须用双引号包括;6: 充分利用无兼容性问题的 html 自身标签, 比方 span, em, strong, optgroup, label, 等等; 需要为 html 元素添加自定义属性的时候, 首先要考虑下有没有默认的已有的适宜标签去设置, 如果没有, 可以使用须以data-为前缀来添加自定义属性,防止使用data:等其他命名方式;.-可修编-.-7: 语义化 html, 如标题根据重要性用 h*(同一页面只能有一个 h1), 段落标记用 p, 列表用 ul, 联元素中不可嵌套块级元素;8: 尽可能 减少 div 嵌套, 如欢送访问 XXX, 您的用 户名是 用户名完全可以用以下代码替代: 欢送访问 XXX, 您的用户名是用户名;9: 书写地址时, 必须防止重定向,例如:href=itaolun:/, 即须在 URL 地址后面加上“/;10: 在页面中尽量防止使用 style 属性,即 style=;11: 必须为含有描述性表单元素(input, textarea)添加 label, 如Example Source Code :52css:姓名: 须写成:姓名: 12: 能以背景形式呈现的图片, 尽量写入 css 样式中;13: 重要图片必须加上 alt 属性; 给重要的元素和截断的元素加上 title;14: 给区块代码及重要功能(比方循环)加上注释, 方便后台添加功能;15: 特殊符号使用: 尽可能使用代码替代: 比方 () & 空格( ) & () 等等;16: 书写页面过程中, 请考虑向后扩展性;csscss 书写规书写规1:元素尽量使用 class 选择器匹配,对于特殊功能可以考虑使用 ID 选择器。2:明确各选择器的优先级,作用围。3:CSS 写完之后必须使用“;号结尾,虽然浏览器支持不用分号结尾,但是不建议这么做。4:除非编写 HTML5 页面,否那么不允许使用 CSS3 伪类,如::nth-child(1)等伪类,制止使用。5:编写 CSS 样式时,不允许换行,样式必须一行写完,自动换行除外。6:对于子元素样式采用链选择器进展选择,如::btn-save div7:元素选择器只能在定义全局 CSS 和子元素匹配时使用尽量少用 ,其他地方制止使用。8:请记住 IE 浏览器的 hack 方式,如下:IE6 = _width:100px;IE7 = *width:100px;IE8 = width:100px9;IE8/9 = width:100px0;IE9 = width:100px90;9:: 编码统一为 utf-8;10: css 属性书写顺序, 建议遵循:布局定位属性-自身属性-文本属性-其他属性: 此条可根据自身习惯书写, 但尽量保证同类属性写在一起:11:书写代码前, 考虑并提高样式重复使用率;12:充分利用 html 自身属性及样式继承原理减少代码量, 比方:Example Source Code :52css:这儿是标题列表2010-09- 15.-可修编-.-定义ul:list liposition:relativeul:list li spanposition:absolute; right:0即可实现日期居右显示13:样式表中中文字体名, 请务必转码成 unicode 码, 以防止编码错误时乱码;14: 使用 table 标签时(尽量防止使用 table 标签), 请不要用 width/ height/cellspacing/cellpadding 等 table 属性直接定义表现, 应尽可能的利用 table 自身私有属性别离构造与表现 , 如Example Source Code :52css:thead,tr,th,td,tbody,tfoot,colgroup,scope;(cellspaing 及 cellpadding 的 css 控制方法:tableborder:0;margin:0;border-collapse:collapse; table th, table tdpadding:0; ,base:css 文件中我会初始化表格样式)15:杜绝使用 兼容 ie8;Example Source Code :52css:_background:none;_filter:progid:DXImageTransform:Microsoft:AlphaImageLoader(sizingMethod=crop, src=img/bg:png);16:防止兼容性属性的使用, 比方 text-shadow | css3 的相关属性;17:减少使用影响性能的属性, 比方 position:absolute | float ;18:必须为大区块样式添加注释, 小区块适量注释;JavaScriptJavaScript 书写规书写规1:JS 必须使用外部文件方式加载。2:JS 引入代码必须集中放置在之间,严禁在3:JS 变量命名请使用驼峰式命名法。4:JS 变量严禁使用不明觉厉的命名方法,如:var a;var b;5:每一个函数与事件监听都必须有注释,声明其作用,如果代码过长,那么请对一个功能模块进展注释。6:JS 函数命名必须使用驼峰式命名。7:JS 函数严禁使用不明觉厉的命名方法,如:function a()8:JS 代码换行时,必须使用缩进。标签外引入 JS,特殊情况除外。jQueryjQuery 局部局部1:使用 jQuery 选择器如果是唯一的,请使用 ID 选择器。2:使用 class 选择器时,在 class 前加上标签名,如:$(“div:class)正确$(“:class)错误3:尽量使用 ID 选择器代替 class 选择器。4:如果一个变量存放的是 jQuery 对象的话,那么请用$符号开头,声明这是一个 jQuery 对象。5:防止使用 live()函数绑定事件,可以使用 bind()和 on()代替。6:把页面上可能会影响页面加载速度的代码绑定到$(window):load()事件中,如动画,视觉特效等代码。.-可修编-.-图片规1: 所有页面元素类图片均放入 img 文件夹, 测试用图片放于 img/demoimg 文件夹;2: 图片格式仅限于 gif | png | jpg;3: 命名全部用小写英文字母 | 数字 | _ 的组合,其中不得包含汉字 | 空格 | 特殊字符;尽量用易懂的词汇, 便于团队其他成员理解; 另, 命名分头尾两局部, 用下划线隔开, 比方 ad_left01:gif | btn_submit:gif;4: 在保证视觉效果的情况下选择最小的图片格式与图片质量, 以减少加载时间;5: 尽量防止使用半透明的 png 图片(假设使用, 请参考 css 规相关说明);注释规1: html 注释: 注释格式 , -只能在注释的始末位置,不可置入注释文字区域;2: css 注释: 注释格式 /*这儿是注释*/;3: JavaScript 注释, 单行注释使用/这儿是单行注释 ,多行注释使用 /* 这儿有多行注释 */;开发及测试工具约定开发及测试工具约定建议使用 Aptana | Dw | Vim , 亦可根据自己喜好选择, 但须遵循如下原那么:1: 不可利用 IDE 的视图模式画代码;2: 不可利用 IDE 生成相关功能代码, 比方 Dw 置的一些功能 js;3: 编码必须格式化, 比方缩进;建议测试顺序: FireFox-IE7-IE8-IE6-Opera-Chrome-Safari, 建议安装 firebug 及测试工具: 前期开发仅测试 FireFox & IE6 & IE7 & IE8 , 后期优化时参加 Opera & Chrome & Safari;IE Tab Plus 插件:其他规其他规1: 开发过程中严格按分工完成页面, 以提高 css 复用率, 防止重复开发;2: 减小沉冗代码, 书写所有人都可以看的懂的代码: 简洁易懂是一种美德: 为用户着想, 为效劳器着想:.-可修编-