2023年6月21日发(作者:)
WEB前端代码规范
规范目的
为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护,输出高质量的文档,特制订此文档。本规范文档一经确认,前端开发人员必须按本文档规范进行前台页面开发。本文档如有不对或者不合适的地方请及时提出,经讨论决定后方可更改。
基本准则
符合web标准;语义化html;结构、表现、行为分离;兼容性优良。页面性能方面,代码要求简洁明了有序,尽可能的减小服务器负载,保证最快的解析速度。
文件规范
1. Html,css,js,images文件均归档至相应约定的目录中。
cssimagesbackStagejs后台模块……cssWebRootimagesfrontStagejsWEB-INF前台模块……全局公共模块…… 2. html文件命名:英文驼峰式命名,文件名.html。按实际模块需求命名。
3. jsp文件命名:英文驼峰式命名,文件名.jsp。按实际模块需求命名。
4. css文件命名:英文驼峰式命名,文件名.css。共用,首页,其他页面按实际模块需求命名。
5. js文件命名:英文驼峰式命名,文件名.js。共用,其他依实际模块需求命名。
html书写规范
1. 文档类型声明及编码: 统一为html5的声明类型;编码统一为
,书写时利用IDE实现层次分明的缩进。
2. 非特殊情况下css文件必须在
...之间引入,选择link方式引入而非@import形式。
3. 非特殊情况下js文件必须在页面底部引入。
4. 引入样式文件或JavaScript文件时,须略去默认类型声明,写法如下:
5. 引入JS库文件,文件名须包含库名称及版本号及是否为压缩版,比如:
;
6. 引入插件,文件名格式为库名称+插件名称,比如:。
7. 所有HTML标签嵌套必须是正确的,禁止出现多出或者少出闭合标签的情况。
8. 所有编码均遵循xhtml标准,标签、属性、属性命名必须由小写字母及下划线数字组成,且所有标签必须闭合,包括br(
),hr(
)等;属性值必须用双引号包括。
9. 充分利用无兼容性问题的html自身标签,比如span、em、strong、optgroup、label…… 10. 需要为html元素添加自定义属性的时候,首先要考虑下有没有默认的已有的合适标签去设置,如果没有,须以"data-"为前缀来添加自定义属性,避免使用"data:"等其他命名方式。
11. 语义化html,如标题根据重要性用h1-h6(同一页面只能有一个h1),段落标记用p,列表用ul,内联元素中不可嵌套块状元素。
12. 尽可能减少div的嵌套层数。
13. 在页面中尽量避免使用内嵌样式表,即在标签内使用style="…"。
14. 以背景形式呈现的图片,尽量写入css样式中;重要图片必须加上alt属性;
15. 特殊符号使用:尽可能使用代码替代:比如<(<)、>(>)、空格( )、&(&)、
”(")等等;
16. 尽量避免使用过度复杂的HTML结构。
css书写规范
1. 编码统一为utf-8。
2. 为了避免一些浏览器兼容性问题以及增加样式重用性,每个页面必须引入(详见附件一),此文件不可随意修改。
3. class与id的使用:id是唯一的并是父级的,class是可以重复的并是子级的,所以id仅使用在大的模块上,class可用在重复使用率高及子级中。
4. 为JavaScript预留钩子的命名,请以js_起始,比如:js_hide,js_show。
5. class与id命名:使用英文命名,命名要语义化,简明化,但不要使用诸如first,last之类的命名。使用驼峰式和下划线分隔相结合的命名规则,即命名应以父级加子级的命名规范,如:父级的类为simple 子级的类应该为simple_first,以此类推,但是尽量避免出现超过四级的类命名。
6. css属性书写顺序,建议遵循:自身属性-->布局定位属性-->文本属性-->其他属性。此条可根据自身习惯书写,但尽量保证同类属性写在一起。
属性列举:
自身属性主要包括:width、height、margin、padding、border、background; 布局定位属性主要包括:display、list-style、position(相应的top、right、bottom、left)、float、clear、visibility、overflow;
文本属性主要包括:color、font、text-decoration、text-align、vertical-align、
white-space
其他:content;
7. 书写代码前,考虑并提高样式重复使用率。
8. 充分利用html自身属性及样式继承原理减少代码量。
9. 样式表中中文字体名,请务必转码成unicode码,以避免编码错误时乱码。
10. 背景图片请尽可能使用sprite技术,减小http请求,考虑到多人协作开发,sprite按模块制作。
11. 使用table标签时(尽量避免使用table标签),请不要用width、height、cellspacing、cellpadding等table属性直接定义表现,应尽可能的利用table自身私有属性分离结构与表现,如:thead、tr、th、td、tbody、tfoot、colgroup、scope。
12. 用png图片做图片时,要求图片格式为png-8格式,若png-8实在影响图片质量或其中有半透明效果,请为ie6单独定义背景:
_background:none;_filter:progid:mageLoader
(sizingMethod=crop,src=’img/’);
13. 避免兼容性属性的使用,比如text-shadow、css3的相关属性;
14. 减少使用影响性能的属性,比如position:absolute、float;
15. 代码缩进与格式:开发阶段单行书写,系统交付时可再将所有css进行压缩;使用Tab键进行缩进,每层缩进一个Tab键
16. 背景重复,确保使用的图片在与迭代方向相同的长度要大于1像素而小于10像素。简单点说,就是x轴迭代,宽度要在1和10之间,y轴迭代,长度要在1和10之间。
JavaScript书写规范
1. 文件编码统一为utf-8,书写过程过,每条语句必须以分号结束。
2. 变量命名:驼峰式命名。首字母须小写,如:iTaoLun。 3. 类命名:驼峰式命名。首字母大写,如:ITaoLun。
4. 函数命名:驼峰式命名。首字母小写。如:iTaoLun()。
5. 构造函数命名:全部大写。
6. 命名语义化,尽可能利用英文单词或其缩写。
7. 尽量避免使用存在兼容性及消耗资源的方法或属性,比如eval()、innerText。
8. 后期优化中,JavaScript非注释类中文字符须转换成unicode编码使用,以避免编码错误时乱码显示。
9. 代码结构明了,加适量注释。提高函数重用率。
10. 注重与html分离,减小reflow,注重性能。
11. 减少DOM访问次数。方法是将得到的元素用变量存储起来。
12. 减少DOM事件绑定。
13.
将自己写的JS用匿名函数包起来,避免变量冲突。
(function(){
})()
图片规范
1. 所有页面元素类图片均放入images文件夹,测试用图片放于images/demo文件夹;
2. 图片格式仅限于gif、png、jpg;
3. 命名全部用小写英文字母、数字、_的组合,其中不得包含汉字、空格、特殊字符;尽量用易懂的词汇。
4. 在保证视觉效果的情况下选择最小的图片格式与图片质量,以减少加载时间。
5. 尽量避免使用半透明的png图片。
6. 运用csssprite技术集中小的背景图或图标,减小页面http请求,但注意,请务必在对应的psd源图中划参考线,并保存至images目录下。 注释规范
1. html注释:注释格式,'--'只能在注释的始末位置,不可置入注释文字区域;
2. css注释:注释格式/*注释*/;
3. JavaScript注释,单行注释使用'//单行注释',多行注释使用/*多行注释*/。
语言组织类
1.
2.
3.
4.
新增,而非“添加,增加”之类的词语
编辑,而非“修改,更新”之类的词语
保存,而非“提交”之类的词语
所有操作除了保存表单外,保存用户操作统一使用“确定”词语
开发及测试工具约定
建议使用Myeclipse、eclipse、Aptana,亦可根据自己喜好选择,但须遵循如下原则:
1. 不可利用IDE的视图模式“画”代码。
2. 不可利用IDE生成相关功能代码,比如Dw内置的一些功能js;
3. 编码必须格式化,比如缩进;
4. 测试工具:前期开发仅测试FireFox、IE6、IE7、IE8、IE9,后期优化时加入Opera、
Chrome、Safari;
5. 建议测试顺序:FireFox-->IE9-->IE8-->IE7-->IE6-->Opera-->Chrome-->Safari,必须安装firebug插件。
/*CSS reset*/
body,div,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,form,fieldset,input,textarea,p,
blockquote,th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
ol,ul{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym{border:0;}
a{text-decoration:none;cursor:pointer;}
a:hover,a:focus{text-decoration:underline; }
body,button,input,select,textarea,a/* for ie
*/{font:12px/1.5tahoma,arial,5b8b4f53,sans-serif;}
button,input,select,textarea{font-size:100%;}
/*文字排版*/
.f12{font-size:12px;}
.f13{font-size:13px;}
.f14{font-size:14px;}
.f16{font-size:16px;}
.f20{font-size:20px;}
.fb{font-weight:bold;} .fn{font-weight:normal;}
.t2{text-indent:2em;}
.lh150{line-height:150%;}
.lh180{line-height:180%;}
.lh200{line-height:200%;}
.unl{text-decoration:underline;}
.no_unl{text-decoration:none;}
/*定位*/
.tl{text-align:left;}
.tc{text-align:center;}
.tr{text-align:right;}
.bc{margin-left:auto;margin-right:auto;}
.fl{float:left;display:inline;}
.fr{float:right;display:inline;}
.cb{clear:both;}
.cl{clear:left;}
.cr{clear:right;}
.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0;}
.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}
.clearfix{display:inline-block}*
html .clearfix{height:1%}.clearfix{display:block;}
.vm{vertical-align:middle;}
.pr{position:relative;}
.pa{position:absolute;}
.abs-right{position:absolute;right:0;}
.zoom{zoom:1;}
.hidden{visibility:hidden;}
.none{display:none;}
/*长度高度*/
.w10{width:10px;}
.w20{width:20px;}
.w30{width:30px;}
.w40{width:40px;}
.w50{width:50px;}
.w60{width:60px;} .w70{width:70px;}
.w80{width:80px;}
.w90{width:90px;}
.w100{width:100px;}
.w200{width:200px;}
.w250{width:250px;}
.w300{width:300px;}
.w400{width:400px;}
.w500{width:500px;}
.w600{width:600px;}
.w700{width:700px;}
.w800{width:800px;}
.w{width:100%;}
.h50{height:50px;}
.h80{height:80px;}
.h100{height:100px;}
.h200{height:200px;}
.h{height:100%;}
/*边距*/
.m10{margin:10px;}
.m15{margin:15px;}
.m30{margin:30px;}
.mt5{margin-top:5px;}
.mt10{margin-top:10px;}
.mt15{margin-top:15px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px;}
.mt50{margin-top:50px;}
.mt100{margin-top:100px;}
.mb10{margin-bottom:10px;}
.mb15{margin-bottom:15px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}
.mb50{margin-bottom:50px;}
.mb100{margin-bottom:100px;}
.ml5{margin-left:5px;}
.ml10{margin-left:10px;} .ml15{margin-left:15px;}
.ml20{margin-left:20px;}
.ml30{margin-left:30px;}
.ml50{margin-left:50px;}
.ml100{margin-left:100px;}
.mr5{margin-right:5px;}
.mr10{margin-right:10px;}
.mr15{margin-right:15px;}
.mr20{margin-right:20px;}
.mr30{margin-right:30px;}
.mr50{margin-right:50px;}
.mr100{margin-right:100px;}
.p10{padding:10px;}
.p15{padding:15px;}
.p30{padding:30px;}
.pt5{padding-top:5px;}
.pt10{padding-top:10px;}
.pt15{padding-top:15px;}
.pt20{padding-top:20px;}
.pt30{padding-top:30px;}
.pt50{padding-top:50px;}
.pb5{padding-bottom:5px;}
.pb10{padding-bottom:10px;}
.pb15{padding-bottom:15px;}
.pb20{padding-bottom:20px;}
.pb30{padding-bottom:30px;}
.pb50{padding-bottom:50px;}
.pb100{padding-bottom:100px;}
.pl5{padding-left:5px;}
.pl10{padding-left:10px;}
.pl15{padding-left:15px;}
.pl20{padding-left:20px;}
.pl30{padding-left:30px;}
.pl50{padding-left:50px;}
.pl100{padding-left:100px;}
.pr5{padding-right:5px;}
.pr10{padding-right:10px;}
.pr15{padding-right:15px;} .pr20{padding-right:20px;}
.pr30{padding-right:30px;}
.pr50{padding-right:50px;}
.pr100{padding-right:100px;}
2023年6月21日发(作者:)
WEB前端代码规范
规范目的
为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护,输出高质量的文档,特制订此文档。本规范文档一经确认,前端开发人员必须按本文档规范进行前台页面开发。本文档如有不对或者不合适的地方请及时提出,经讨论决定后方可更改。
基本准则
符合web标准;语义化html;结构、表现、行为分离;兼容性优良。页面性能方面,代码要求简洁明了有序,尽可能的减小服务器负载,保证最快的解析速度。
文件规范
1. Html,css,js,images文件均归档至相应约定的目录中。
cssimagesbackStagejs后台模块……cssWebRootimagesfrontStagejsWEB-INF前台模块……全局公共模块…… 2. html文件命名:英文驼峰式命名,文件名.html。按实际模块需求命名。
3. jsp文件命名:英文驼峰式命名,文件名.jsp。按实际模块需求命名。
4. css文件命名:英文驼峰式命名,文件名.css。共用,首页,其他页面按实际模块需求命名。
5. js文件命名:英文驼峰式命名,文件名.js。共用,其他依实际模块需求命名。
html书写规范
1. 文档类型声明及编码: 统一为html5的声明类型;编码统一为
,书写时利用IDE实现层次分明的缩进。
2. 非特殊情况下css文件必须在
...之间引入,选择link方式引入而非@import形式。
3. 非特殊情况下js文件必须在页面底部引入。
4. 引入样式文件或JavaScript文件时,须略去默认类型声明,写法如下:
5. 引入JS库文件,文件名须包含库名称及版本号及是否为压缩版,比如:
;
6. 引入插件,文件名格式为库名称+插件名称,比如:。
7. 所有HTML标签嵌套必须是正确的,禁止出现多出或者少出闭合标签的情况。
8. 所有编码均遵循xhtml标准,标签、属性、属性命名必须由小写字母及下划线数字组成,且所有标签必须闭合,包括br(
),hr(
)等;属性值必须用双引号包括。
9. 充分利用无兼容性问题的html自身标签,比如span、em、strong、optgroup、label…… 10. 需要为html元素添加自定义属性的时候,首先要考虑下有没有默认的已有的合适标签去设置,如果没有,须以"data-"为前缀来添加自定义属性,避免使用"data:"等其他命名方式。
11. 语义化html,如标题根据重要性用h1-h6(同一页面只能有一个h1),段落标记用p,列表用ul,内联元素中不可嵌套块状元素。
12. 尽可能减少div的嵌套层数。
13. 在页面中尽量避免使用内嵌样式表,即在标签内使用style="…"。
14. 以背景形式呈现的图片,尽量写入css样式中;重要图片必须加上alt属性;
15. 特殊符号使用:尽可能使用代码替代:比如<(<)、>(>)、空格( )、&(&)、
”(")等等;
16. 尽量避免使用过度复杂的HTML结构。
css书写规范
1. 编码统一为utf-8。
2. 为了避免一些浏览器兼容性问题以及增加样式重用性,每个页面必须引入(详见附件一),此文件不可随意修改。
3. class与id的使用:id是唯一的并是父级的,class是可以重复的并是子级的,所以id仅使用在大的模块上,class可用在重复使用率高及子级中。
4. 为JavaScript预留钩子的命名,请以js_起始,比如:js_hide,js_show。
5. class与id命名:使用英文命名,命名要语义化,简明化,但不要使用诸如first,last之类的命名。使用驼峰式和下划线分隔相结合的命名规则,即命名应以父级加子级的命名规范,如:父级的类为simple 子级的类应该为simple_first,以此类推,但是尽量避免出现超过四级的类命名。
6. css属性书写顺序,建议遵循:自身属性-->布局定位属性-->文本属性-->其他属性。此条可根据自身习惯书写,但尽量保证同类属性写在一起。
属性列举:
自身属性主要包括:width、height、margin、padding、border、background; 布局定位属性主要包括:display、list-style、position(相应的top、right、bottom、left)、float、clear、visibility、overflow;
文本属性主要包括:color、font、text-decoration、text-align、vertical-align、
white-space
其他:content;
7. 书写代码前,考虑并提高样式重复使用率。
8. 充分利用html自身属性及样式继承原理减少代码量。
9. 样式表中中文字体名,请务必转码成unicode码,以避免编码错误时乱码。
10. 背景图片请尽可能使用sprite技术,减小http请求,考虑到多人协作开发,sprite按模块制作。
11. 使用table标签时(尽量避免使用table标签),请不要用width、height、cellspacing、cellpadding等table属性直接定义表现,应尽可能的利用table自身私有属性分离结构与表现,如:thead、tr、th、td、tbody、tfoot、colgroup、scope。
12. 用png图片做图片时,要求图片格式为png-8格式,若png-8实在影响图片质量或其中有半透明效果,请为ie6单独定义背景:
_background:none;_filter:progid:mageLoader
(sizingMethod=crop,src=’img/’);
13. 避免兼容性属性的使用,比如text-shadow、css3的相关属性;
14. 减少使用影响性能的属性,比如position:absolute、float;
15. 代码缩进与格式:开发阶段单行书写,系统交付时可再将所有css进行压缩;使用Tab键进行缩进,每层缩进一个Tab键
16. 背景重复,确保使用的图片在与迭代方向相同的长度要大于1像素而小于10像素。简单点说,就是x轴迭代,宽度要在1和10之间,y轴迭代,长度要在1和10之间。
JavaScript书写规范
1. 文件编码统一为utf-8,书写过程过,每条语句必须以分号结束。
2. 变量命名:驼峰式命名。首字母须小写,如:iTaoLun。 3. 类命名:驼峰式命名。首字母大写,如:ITaoLun。
4. 函数命名:驼峰式命名。首字母小写。如:iTaoLun()。
5. 构造函数命名:全部大写。
6. 命名语义化,尽可能利用英文单词或其缩写。
7. 尽量避免使用存在兼容性及消耗资源的方法或属性,比如eval()、innerText。
8. 后期优化中,JavaScript非注释类中文字符须转换成unicode编码使用,以避免编码错误时乱码显示。
9. 代码结构明了,加适量注释。提高函数重用率。
10. 注重与html分离,减小reflow,注重性能。
11. 减少DOM访问次数。方法是将得到的元素用变量存储起来。
12. 减少DOM事件绑定。
13.
将自己写的JS用匿名函数包起来,避免变量冲突。
(function(){
})()
图片规范
1. 所有页面元素类图片均放入images文件夹,测试用图片放于images/demo文件夹;
2. 图片格式仅限于gif、png、jpg;
3. 命名全部用小写英文字母、数字、_的组合,其中不得包含汉字、空格、特殊字符;尽量用易懂的词汇。
4. 在保证视觉效果的情况下选择最小的图片格式与图片质量,以减少加载时间。
5. 尽量避免使用半透明的png图片。
6. 运用csssprite技术集中小的背景图或图标,减小页面http请求,但注意,请务必在对应的psd源图中划参考线,并保存至images目录下。 注释规范
1. html注释:注释格式,'--'只能在注释的始末位置,不可置入注释文字区域;
2. css注释:注释格式/*注释*/;
3. JavaScript注释,单行注释使用'//单行注释',多行注释使用/*多行注释*/。
语言组织类
1.
2.
3.
4.
新增,而非“添加,增加”之类的词语
编辑,而非“修改,更新”之类的词语
保存,而非“提交”之类的词语
所有操作除了保存表单外,保存用户操作统一使用“确定”词语
开发及测试工具约定
建议使用Myeclipse、eclipse、Aptana,亦可根据自己喜好选择,但须遵循如下原则:
1. 不可利用IDE的视图模式“画”代码。
2. 不可利用IDE生成相关功能代码,比如Dw内置的一些功能js;
3. 编码必须格式化,比如缩进;
4. 测试工具:前期开发仅测试FireFox、IE6、IE7、IE8、IE9,后期优化时加入Opera、
Chrome、Safari;
5. 建议测试顺序:FireFox-->IE9-->IE8-->IE7-->IE6-->Opera-->Chrome-->Safari,必须安装firebug插件。
/*CSS reset*/
body,div,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,form,fieldset,input,textarea,p,
blockquote,th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
ol,ul{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym{border:0;}
a{text-decoration:none;cursor:pointer;}
a:hover,a:focus{text-decoration:underline; }
body,button,input,select,textarea,a/* for ie
*/{font:12px/1.5tahoma,arial,5b8b4f53,sans-serif;}
button,input,select,textarea{font-size:100%;}
/*文字排版*/
.f12{font-size:12px;}
.f13{font-size:13px;}
.f14{font-size:14px;}
.f16{font-size:16px;}
.f20{font-size:20px;}
.fb{font-weight:bold;} .fn{font-weight:normal;}
.t2{text-indent:2em;}
.lh150{line-height:150%;}
.lh180{line-height:180%;}
.lh200{line-height:200%;}
.unl{text-decoration:underline;}
.no_unl{text-decoration:none;}
/*定位*/
.tl{text-align:left;}
.tc{text-align:center;}
.tr{text-align:right;}
.bc{margin-left:auto;margin-right:auto;}
.fl{float:left;display:inline;}
.fr{float:right;display:inline;}
.cb{clear:both;}
.cl{clear:left;}
.cr{clear:right;}
.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0;}
.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}
.clearfix{display:inline-block}*
html .clearfix{height:1%}.clearfix{display:block;}
.vm{vertical-align:middle;}
.pr{position:relative;}
.pa{position:absolute;}
.abs-right{position:absolute;right:0;}
.zoom{zoom:1;}
.hidden{visibility:hidden;}
.none{display:none;}
/*长度高度*/
.w10{width:10px;}
.w20{width:20px;}
.w30{width:30px;}
.w40{width:40px;}
.w50{width:50px;}
.w60{width:60px;} .w70{width:70px;}
.w80{width:80px;}
.w90{width:90px;}
.w100{width:100px;}
.w200{width:200px;}
.w250{width:250px;}
.w300{width:300px;}
.w400{width:400px;}
.w500{width:500px;}
.w600{width:600px;}
.w700{width:700px;}
.w800{width:800px;}
.w{width:100%;}
.h50{height:50px;}
.h80{height:80px;}
.h100{height:100px;}
.h200{height:200px;}
.h{height:100%;}
/*边距*/
.m10{margin:10px;}
.m15{margin:15px;}
.m30{margin:30px;}
.mt5{margin-top:5px;}
.mt10{margin-top:10px;}
.mt15{margin-top:15px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px;}
.mt50{margin-top:50px;}
.mt100{margin-top:100px;}
.mb10{margin-bottom:10px;}
.mb15{margin-bottom:15px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}
.mb50{margin-bottom:50px;}
.mb100{margin-bottom:100px;}
.ml5{margin-left:5px;}
.ml10{margin-left:10px;} .ml15{margin-left:15px;}
.ml20{margin-left:20px;}
.ml30{margin-left:30px;}
.ml50{margin-left:50px;}
.ml100{margin-left:100px;}
.mr5{margin-right:5px;}
.mr10{margin-right:10px;}
.mr15{margin-right:15px;}
.mr20{margin-right:20px;}
.mr30{margin-right:30px;}
.mr50{margin-right:50px;}
.mr100{margin-right:100px;}
.p10{padding:10px;}
.p15{padding:15px;}
.p30{padding:30px;}
.pt5{padding-top:5px;}
.pt10{padding-top:10px;}
.pt15{padding-top:15px;}
.pt20{padding-top:20px;}
.pt30{padding-top:30px;}
.pt50{padding-top:50px;}
.pb5{padding-bottom:5px;}
.pb10{padding-bottom:10px;}
.pb15{padding-bottom:15px;}
.pb20{padding-bottom:20px;}
.pb30{padding-bottom:30px;}
.pb50{padding-bottom:50px;}
.pb100{padding-bottom:100px;}
.pl5{padding-left:5px;}
.pl10{padding-left:10px;}
.pl15{padding-left:15px;}
.pl20{padding-left:20px;}
.pl30{padding-left:30px;}
.pl50{padding-left:50px;}
.pl100{padding-left:100px;}
.pr5{padding-right:5px;}
.pr10{padding-right:10px;}
.pr15{padding-right:15px;} .pr20{padding-right:20px;}
.pr30{padding-right:30px;}
.pr50{padding-right:50px;}
.pr100{padding-right:100px;}
发布评论