web前端开发规范标准.docx

上传人:b****1 文档编号:2573047 上传时间:2023-05-04 格式:DOCX 页数:20 大小:24.06KB
下载 相关 举报
web前端开发规范标准.docx_第1页
第1页 / 共20页
web前端开发规范标准.docx_第2页
第2页 / 共20页
web前端开发规范标准.docx_第3页
第3页 / 共20页
web前端开发规范标准.docx_第4页
第4页 / 共20页
web前端开发规范标准.docx_第5页
第5页 / 共20页
web前端开发规范标准.docx_第6页
第6页 / 共20页
web前端开发规范标准.docx_第7页
第7页 / 共20页
web前端开发规范标准.docx_第8页
第8页 / 共20页
web前端开发规范标准.docx_第9页
第9页 / 共20页
web前端开发规范标准.docx_第10页
第10页 / 共20页
web前端开发规范标准.docx_第11页
第11页 / 共20页
web前端开发规范标准.docx_第12页
第12页 / 共20页
web前端开发规范标准.docx_第13页
第13页 / 共20页
web前端开发规范标准.docx_第14页
第14页 / 共20页
web前端开发规范标准.docx_第15页
第15页 / 共20页
web前端开发规范标准.docx_第16页
第16页 / 共20页
web前端开发规范标准.docx_第17页
第17页 / 共20页
web前端开发规范标准.docx_第18页
第18页 / 共20页
web前端开发规范标准.docx_第19页
第19页 / 共20页
web前端开发规范标准.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

web前端开发规范标准.docx

《web前端开发规范标准.docx》由会员分享,可在线阅读,更多相关《web前端开发规范标准.docx(20页珍藏版)》请在冰点文库上搜索。

web前端开发规范标准.docx

web前端开发规范标准

Web前端开发规手册

一、规目的

1.1 概述 ..................................................................................................................................... 1

二、文件规

2.1 文件命名规则.........................................................................................................................1

2.2 文件存放位置.........................................................................................................................2

2.3html 书写规.......................................................................................................................2

2.4css 书写规..........................................................................................................................7

2.5JavaScript 书写规............................................................................................................12

2.6 图片规.................................................................................................................................19

2.7 注释规.................................................................................................................................20

2.8css 浏览器兼容......................................................................................................................21

一、规目的

1.1 概述

为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规文档一经确认, 前端开发人员必须按本文档规进行前台页面开发. 本文档如有不对或者不合适的地方请及时提出, 经讨论决定后可以更改此文档.

二、文件规

2.1文件命名规则

文件夹和文件名一律全部用小写英文单词,禁止出现简拼、拼音、数字、无意义的命名,英文单词尽量使用一个进行描述,简洁易懂;多个单词用驼峰命名法。

2.2 文件存放位置

cn 存放中文 HTML 文件

en 存放英文 HTML 文件

flash 存放 Flash 文件

images 存放图片文件

imagestudio 存放 PSD 源文件

flashstudio 存放 flash 源文件

inc 存放include 文件

library 存放 DW 库文件

media 存放多媒体文件

project 存放工程项目资料

temp 存放客户原始资料

js 存放 JavaScript 脚本

css 存放 CSS 文件

2.3html 书写规

●为每个HTML页面的第一行添加标准模式(standardmode)的声明,确保在每个浏览器中拥有一致的展现。

DOCTYPEhtml>

●文档类型声明统一为HTML5声明类型,编码统一为UTF-8。

中添加信息。

//作者

//网页描述

//关键字,“,”分隔

21:

57GMT">//设定网页的到期时间。

一旦网页过期,必须到服务器上重新调阅

//禁止浏览器从本地机的缓存中调阅页面容

//用来防止别人在框架里调用你的页面

//跳转页面,5指时间停留5秒网页搜索机器人向导。

用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引

//content的参数有all,none,index,noindex,follow,nofollow,默认是all

//收藏图标

//网页不会被缓存

IE支持通过特定标签来确定绘制当前页面所应该采用的IE版本。

除非有强烈的特殊需求,否则最好是设置为edgemode,从而通知IE采用其所支持的最新的模式。

●非特殊情况下CSS样式文件外链至HEAD之间,JAVASCRIPT文件外链至页面底部。

DOCTYPEhtml>

--逻辑代码-->

--逻辑代码底部-->

引入JAVASCRIPT库文件,文件名须包含库名称及版本号及是否为压缩版。

jQuery-1.8.3.min.js

引入JAVASCRIPT插件,文件名格式为库名称+.+插件名称。

jQuery.cookie.js

●HTML属性应当按照以下给出的顺序依次排列,来确保代码的易读性。

Class

id、name

data-*

src、for、type、href

title、alt

aria-*、role

避免使用中文拼音尽量简易并要求语义化。

CLASS-->nHeadTitle-->CLASS遵循小驼峰命名法(littlecamel-case)

ID-->n_head_title-->ID遵循名称+_

NAME-->N_Head_Title-->NAME属性命名遵循首个字母大写+_

当JAVASCRIPT获取单个元素时,通常使用document.getElementById来获取dom元素,document.getElementById兼容所有浏览器,但IE浏览器会混淆元素的ID和NAME属性,所以要区分ID和NAME命名。

--ie6下为INPUT-->

●特殊符号应使用转意符。

<--><

>-->>

空格-->

●含有描述性表单元素(INPUT,TEXTAREA)添加LABEL。

测试

●多用无兼容性问题的HTML置标签,

比如span、em、strong、optgroup、label等,需要自定义html标签属性时,首先考虑是否存在已有的合适标签可替换,如果没有,可使用须以“data-”为前缀来添加自定义属性,避免使用其他命名方式。

●语义化HTML。

●尽可能减少

嵌套。

●书写地址时避免重定向。

href=".kahn1990./"//即在URL地址后面加“/”

●HTML中对于属性的定义,确保全部使用双引号,绝不要使用单引号

2.4css书写规

●为了欺骗W3C的验证工具,可将代码分为两个文件,一个是针对所有浏览器,一个只针对IE。

即将所有符合W3C的代码写到一个文件中,而一些IE中必须而又不能通过W3C验证的代码(如:

cursor:

hand;)放到另一个文件中,再用下面的方法导入。

--放置所有浏览器样式-->

--只放置IE必须,而不能通过w3c的-->

--[ifIE]

[endif]-->

●CSS样式新建或修改尽量遵循以下原则。

根据新建样式的适用围分为三级:

全站级、产品级、页面级。

尽量通过继承和层叠重用已有样式。

不要轻易改动全站级CSS。

改动后,要经过全面测试。

●CSS属性显示顺序。

显示属性

元素位置

元素属性

元素容属性

CSS书写顺序。

.header{

/*显示属性*/

display||visibility

list-style

positiontop||right||bottom||left

z-index

clear

float

/*自身属性*/

widthmax-width||min-width

heightmax-height||min-height

overflow||clip

margin

padding

outline

border

background

/*文本属性*/

color

font

text-overflow

text-align

text-indent

line-height

white-space

vertical-align

cursor

content

};

兼容多个浏览器时,将标准属性写在底部。

-moz-border-radius:

15px;/*Firefox*/

-webkit-border-radius:

15px;/*Safari和Chrome*/

border-radius:

15px;/*Opera10.5+,以及使用了IE-CSS3的IE浏览器*//标准属性

●使用选择器时,命名比较短的词汇或者缩写的不允许直接定义样式。

.hd,.bd,.td{};//如这些命名

可用上级节点进行限定。

.recommend-mod.hd

多选择器规则之间换行,即当样式针对多个选择器时每个选择器占一行。

button.btn,

input.btn,

input[type="button"]{…};

优化CSS选择器。

#headera{color:

#444;};/*CSS选择器是从右边到左边进行匹配*/

浏览器将检查整个文档中的所有和每个的父元素,并遍历文档树去查找ID为header的祖先元素,如果找不到header将追溯到文档的根节点,解决方法如下。

避免使用通配规则和相邻兄弟选择符、子选择符,、后代选择符、属性选择符等选择器

不要限定id选择符,如div#header(提权的除外)

不要限定类选择器,如ul.recommend(提权的除外)

不要使用ullia这样长的选择符

避免使用标签子选择符,如#header>li>a

●使用z-index属性尽量z-index的值不要超过150(通用组的除外),页面中的元素容的z-index不能超过10(提示框等模块除外但维持在150以下),不允许直接使用(999~9999)之间大值。

●尽量避免使用CSSHack。

property:

value;/*所有浏览器*/

+property:

value;/*IE7*/

_property:

value;/*IE6*/

*property:

value;/*IE6/7*/

property:

value\9;/*IE6/7/8/9,即所有IE浏览器*/

*htmlselector{…};/*IE6*/

*:

first-child+htmlselector{…};/*IE7*/

html>bodyselector{…};/*非IE6*/

-moz-documenturl-prefix(){…};/*firefox*/

mediaalland(-webkit-min-device-pixel-ratio:

0){…};/*saf3+/chrome1+*/

mediaalland(-webkit-min-device-pixel-ratio:

10000),notalland(-webkit-min-device-pixel-ratio:

0){…};/*opera*/

mediascreenand(max-device-width:

480px){…};/*iPhone/mobilewebkit*/

●避免使用低效的选择器。

body>*{…};

ul>li>a{…};

#footer>h3{…};

ul#top_blue_nav{…};

#searbarspan.submita{…};/*反面示例*/

●六个不要三个避免一个使用。

不要在标签上直接写样式

不要在CSS中使用expression

不要在CSS中使用import

不要在CSS中使用!

important

不要在CSS中使用“*”选择符

不要将CSS样式写为单行

避免使用filter

避免使用行(inline)样式

避免使用“*”设置{margin:

0;padding:

0;}

使用after或overflow的方式清浮动

●减少使用影响性能的属性。

position:

absolute;

float:

left;//如这些定位或浮动属性

减少在CSS中使用滤镜表达式和图片repeat,

尤其在body当中,渲染性能极差,如果需要用repeat的话,图片的宽或高不能少于8px。

2.5javaScript书写规

●命名规。

常量名

全部大写并单词间用下划线分隔

如:

CSS_BTN_CLOSE、TXT_LOADING

对象的属性或方法名

小驼峰式(littlecamel-case)

如:

init、bindEvent、updatePosition

示例:

Dialog.prototype={

init:

function(){},

bindEvent:

function(){},

updatePosition:

function(){}

};

类名(构造器)

-->小驼峰式但首字母大写

-->如:

Current、DefaultConfig

函数名

-->小驼峰式

-->如:

current()、defaultConfig()

变量名

-->小驼峰式

-->如:

current、defaultConfig

私有变量名

-->小驼峰式但需要用_开头

-->如:

_current、_defaultConfig

变量名的前缀

-->续

●代码格式。

"()"前后需要跟空格

"="前后需要跟空格

","后面需要跟空格

JSON对象需格式化对象参数

if、while、for、do语句的执行体用"{}"括起来

"{}"格式如下。

if(a==1){

//代码

};

避免额外的逗号。

vararr=[1,2,3,];

for-in循环体中必须用hasOwnProperty方法检查成员是否为自身成员,避免来自原型链上的污染。

长语句可考虑断行。

TEMPL_SONGLIST.replace('{TABLE}',da['results'])

.replace('{PREV_NUM}',prev)

.replace('{NEXT_NUM}',next)

.replace('{CURRENT_NUM}',current)

.replace('{TOTAL_NUM}',da.page_total);

为了避免和JSLint的检验机制冲突,“.”或“+”这类操作符放在行尾。

TEMPL_SONGLIST.replace('{TABLE}',da['results']).

replace('{PREV_NUM}',prev).

replace('{NEXT_NUM}',next).

replace('{CURRENT_NUM}',current).

replace('{TOTAL_NUM}',da.page_total);

如果模块代码中,使用其它全局变量想跳过JSLint的检查,可以在该文件中加入/*global*/声明。

/*globalalert:

true,console:

true,top:

true,setTimeout:

true*/

使用严格的条件判断符。

用===代替==,用!

==代替!

=,避免掉入==造成的陷阱

在条件判断时,这样的一些值表示false。

null

undefined与null相等

字符串''

数字0

NaN

在==时,则会有一些让人难以理解的陷阱。

(function(){

varundefined;

undefined==null;//true

1==true;//true

2==true;//false

0==false;//true

0=='';//true

NaN==NaN;//false

[]==false;//true

[]==!

[];//true

})();

对于不同类型的==判断,有这样一些规则,顺序自上而下:

undefined与null相等

一个是number一个是string时,会尝试将string转换为number

尝试将boolean转换为number

0或1

尝试将Object转换成number或string

而这些取决于另外一个对比量,即值的类型,所以对于0、空字符串的判断,建议使用===

===会先判断两边的值类型,类型不匹配时为false。

 

●下面类型的对象不建议用new构造。

newNumber

newString

newBoolean

newObject//用{}代替

newArray//用[]代替

引用对象成员用obj.prop代替obj["prop"],除非属性名是变量。

●从number到string的转换。

/**推荐写法*/

vara=1;

typeof(a);//"number"

console.log(a);//1

varaa=a+'';

typeof(aa);//"string"

console.log(aa);//'1'

/**不推荐写法*/

newString(a)或a.toString()

从string到number的转换,使用parseInt,必须显式指定第二个参数的进制。

/**推荐写法*/

vara='1';

varaa=parseInt(a,10);

typeof(a);//"string"

console.log(a);//'1'

typeof(aa);//"number"

console.log(aa);//1

从float到integer的转换。

/**推荐写法*/

Math.floor/Math.round/Math.ceil

/**不推荐写法*/

parseInt

字符串拼接应使用数组保存字符串片段,使用时调用join方法。

避免使用+或+=的方式拼接较长的字符串,每个字符串都会使用一个小的存片段,过多的存片段会影响性能。

/**推荐的拼接方式array的push、join*/

varstr=[],

list=['测试A','测试B'];

for(vari=0,len=list.length;i

str.push('

'+list[i]+'
');

};

console.log(str.join(''));//

测试A
测试B

/**不推荐的拼接方式+=*/

varstr='',

list=['测试A','测试B'];

for(vari=0,len=list.length;i

str+='

'+list[i]+'
';

};

console.log(str);//

测试A
测试B

●尽量避免使用存在兼容性及消耗资源的方法或属性。

不要使用with,void,evil,eval_r,innerText

●注重HTML分离,减小reflow,注重性能。

2.6图片规

●命名应用小写英文、数字、_组合,便于团队其他成员理解。

header_btn.gif

header_btn2.gif

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2