首页 > 代码库 > 前端编码规范

前端编码规范

HTML

语法:

1.用两个空格代替制表符(tab)--这是唯一能保证在所有环境下获得一致展现。

2.嵌套元素应当缩进一次(即两个空格)。

3.对于属性的定义,确定全部使用双引号,绝不要使用单引号。

4.不要在自闭合元素尾部加斜线(<img>而不是<img />),HTML5规范。

5.不要省略可选的结束标签(</li>)。

 

HTML5 doctype

1.每个页面第一行添加标准模式的声明<!DOCTYPE html>

 

语言属性

根据HTML5规范:强烈建议为html根元素指定lang属性,从而为文档设置正确的语言。这将有助于语音合成工具确定其所应该采用的发音,有助于翻译工具确定其翻译时所应遵守的规则等等。

<html lang="zh-CN"></html>

字符编码

通过明确声明字符编码,能够确保浏览器快速并容易的判断页面内容的渲染方式。这样做的好处是,可以避免在 HTML 中使用字符实体标记(character entity),从而全部与文档编码一致(一般采用 UTF-8 编码)。<meta charset="UTF-8" >

引入 CSS 和 JavaScript 文件

根据 HTML5 规范,在引入 CSS 和 JavaScript 文件时一般不需要指定 type 属性,因为 text/css 和 text/javascript 分别是它们的默认值。<script src="http://www.mamicode.com/js.js"></script>  <link href="http://www.mamicode.com/stylesheet href="style.css">

实用为主

尽量遵循 HTML 标准和语义,但是不要以牺牲实用性为代价。任何时候都要尽量使用最少的标签并保持最小的复杂度。

 

属性顺序

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

1.class  2.id,name  3.data-*  4.src,for,type,href  5.title,alt  6.aria-*,role

class 用于标识高度可复用组件,因此应该排在首位。id 用于标识具体组件,应当谨慎使用(例如,页面内的书签),因此排在第二位。

 

减少标签的数量

编写 HTML 代码时,尽量避免多余的父元素。很多时候,这需要迭代和重构来实现。请看下面的案例:

<!-- Not so great -->

<span class="avatar">

  <img src="http://www.mamicode.com/...">

</span>

 

<!-- Better -->

<img class="avatar" src="http://www.mamicode.com/...">

 

Javascript生成标签

通过js生成的标签不易查找、编辑并且性能降低,尽量避免使用。

 

CSS

语法

1.每条声明语句的 : 后应该插入一个空格。

2.最后一条声明语句‘;’不加上容易出错。

3.对于属性值或颜色值 省略小数前面的0 例如:0.5px,写成 .5px

4.十六进制值应该全部小写,例如,#fff

5.为选择器中的属性添加双引号,例如,input[type="text"]

6.避免为 0 值指定单位,例如,用 margin: 0; 代替margin: 0px;

 

css书写顺序

1.位置属性(position, top, right, z-index, display, float等)
2.大小(width, height, padding, margin)
3.文字系列(font, line-height, letter-spacing, color- text-align等)
4.背景(background, border等)
5.其他(animation, transition等)

 

css选择器命名规范

1.长名称或词组可以使用中横线来为选择器命名。

2.不能用“_”下划线来命名CSS选择器,为什么呢?

一些浏览器已经不允许使用下划线来命名CSS选择器(就是不兼容);

能良好区分JavaScript变量命名.

 

常用的CSS命名规则

头:header
内容:content/container
尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体佈局宽度:wrapper
左右中:left right center
登录条:loginbar
标志:logo
广告:banner
页面主体:main
热点:hot
新闻:news
下载:download
子导航:subnav
菜单:menu
子菜单:submenu
搜索:search
友情链接:friendlink
页脚:footer
版权:copyright
滚动:scroll
内容:content
标签:tags
文章列表:list
提示信息:msg
小技巧:tips
栏目标题:title
加入:joinus
指南:guild
服务:service
注册:regsiter
状态:status
投票:vote
合作伙伴:partner

 

id的命名:

1)页面结构

容器: container
页头:header
内容:content/container
页面主体:main
页尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体佈局宽度:wrapper
左右中:left right center

(2)导航

导航:nav
主导航:mainbav
子导航:subnav
顶导航:topnav
边导航:sidebar
左导航:leftsidebar
右导航:rightsidebar
菜单:menu
子菜单:submenu
标题: title
摘要: summary

(3)功能

标志:logo
广告:banner
登陆:login
登录条:loginbar
注册:regsiter
搜索:search
功能区:shop
标题:title
加入:joinus
状态:status
按钮:btn
滚动:scroll
标籤页:tab
文章列表:list
提示信息:msg
当前的: current
小技巧:tips
图标: icon
注释:note
指南:guild
服务:service
热点:hot
新闻:news
下载:download
投票:vote
合作伙伴:partner
友情链接:link
版权:copyright

CSS样式表文件命名

主要的 master.css
模块 module.css
基本共用 base.css
布局、版面 layout.css
主题 themes.css
专栏 columns.css
文字 font.css
表单 forms.css
补丁 mend.css
打印 print.css

前端编码规范