之马工场Web前端开发规范

一、总体要求

【强制】如果项目无特殊要求,电脑端页面需要兼容Firefox、Chrome、IE(默认IE10+)、360、Safari浏览器。

【强制】如果项目无特殊要求,手机端页面需要兼容主流手机品牌(苹果、华为、小米、三星)的默认浏览器、UC浏览器和微信浏览器。

【强制】页面在正常浏览时不能出现横向滚动条。

【强制】页面在正常浏览时与设计图一致,未经用户同意不得违背设计稿。

【强制】所有HTML、JS、CSS文件都使用utf-8编码。

【强制】摒弃垃圾代码,无论是HTML、CSS、JS,都不得包含大量无用的代码和代码文件。

【强制】无论是HTML、CSS、JS、图片等文件名称,还是HTML元素ID、HTML表单命名、CSS类名、JS变量名,都必须要有合理的有意义的英文命名,杜绝汉语拼音及汉语拼音缩写。

【强制】任何代码中不得注释工作者自己的名字和联系方式,只允许注释在之马工场平台的标准昵称。

【强制】HTML文件和CSS文件,不得用工具自动生成,请用手写代码。

【建议】在实践中追求精益求精,追求用最少的代码、最灵活的表达、最标准的方式来实现功能。

二、文件要求

【强制】不得引用网络文件,所有文件都必须本地化。

【强制】图片文件存放在images文件夹中。

【强制】css文件存放在css文件夹中。

【强制】js文件存放在js文件夹中。

【强制】js组件中包含css和图片文件的,不应该拆分,需把组件完整放在js文件夹中。

【强制】文件命名必须为英文,不得使用汉字,一般情况下都用小写,不得使用汉语拼音。

【强制】临时文件和文件夹都必须使用下划线开头命名。

三、代码风格要求

【强制】HTML、CSS、JS代码都必须具备良好的缩进、换行。

【强制】代码不得有大量的空行。

【强制】不得有大量的注释掉的无用代码。

四、HTML要求

【强制】正确理解项目,理解设计师意图,HTML结构需充分考虑后台程序的结合。

【强制】使用HTML5协议。

【强制】注意区分区块标签(div、ul/li、table、form、h1-h6及HTML5新增标签如nav、article等)和内容标签(a、img、span、p),区块标签不得和内容标签并列,一般情况下内容标签必须包含在区块标签中。

【建议】所有的HTML标签的名称及其属性名称小写。

【建议】所有的HTML标签必须闭合。

【强制】一般情况下,HTML标签中,不得包含style属性,所有样式必须都在css中定义。

【强制】默认a标签href的值定为#。

【强制】页面上有意义的图片(背景图、小图标除外),必须标明alt属性值。

【强制】标签的ID属性应该在同一页面上具有唯一性。

【强制】如果页面上有h1标签,则只能有1次,且必须和页面title相对应。

【建议】不得使用hr、br标签。

【强制】HTML整体结构要符合浏览器的解释流程,结构要紧凑。

【强制】不能使用连续多个空格 来定位内容元素。

五、CSS要求

【强制】影响全局的独立css样式必须放置在base.css中。

【强制】默认只有一个主css文件时,命名为style.css。

【强制】手机适配(响应式设计)时,放置在query.css中。

【强制】除base.css中的样式外,所有样式必须有路径定义。

【强制】一组对象使用了浮动(float),需要在后面加一个空div样式定义为clear:both清除浮动。

【强制】尽量少用css hack,实现透明、圆角、动画等效果除外。

【强制】内容页面,由后台编辑器可编辑的内容(例如新闻内容)。需要定义标题(h1 h2 h3)段落 p 链接 a 表格(table tr td)列表(ul ol li)的样式。

【强制】禁止在CSS中大量使用nth-of-type定义。

【强制】禁止在CSS中引用font字体文件。不常见的特殊字体要么处理成图片,要么联系项目经理或设计师修改字体。

【建议】尽量少用绝对定位。使用绝对定位时,必须指定父对象。

【建议】尽量少用display:block。

【建议】尽量用margin,少用padding。

【建议】尽量用margin-left,少用margin-right。同理,尽量用margin-top,少用margin-bottom。

【建议】调试样式时使用不同的背景颜色background-color来检查元素占位,而不要使用边框border。

六、JS要求

【强制】js下存放的jquery文件,文件名中必须带有版本号。

【强制】不得在同一个项目中,使用多个版本的jquery。(特殊情况需向用户说明)。

七、切图及图片要求

【强制】切图必须精确,必须放大设计稿数倍查看边缘情况。严禁随意更改或估计设计稿上元素的大小和元素间的间距。

【强制】图片只保存为两种格式,无需透明效果的,都保存为jpg格式;需要透明效果的,保存为png-24的png格式。

【强制】图片清晰度在保持合理大小的情况下选择“最佳”。

【强制】类似于banner的内容大图片一般不得大于500K,其他图片不得大于100K。

【建议】背景图片,指的是css中background中引用的图片,应当以bg_开头命名。

【建议】按钮图片,指的是页面上类似于表单提交等互动操作的图片,应当以btn_开头命名。

【强制】图标图片,指的是页面上起点缀作用的图案或图标,应当以icon_开头命名。图标图片一般存为png格式。

【强制】同性质的图片超过3个,在images中建立子文件夹存放。

八、其他要求

【强制】平台不规定开发使用的工具,但使用某些开发工具额外生成的.project之类的文件,不能提交到代码库。

【强制】如果使用css预处理方法比如less文件,请不要提交到代码库或者放置在css/_less目录。