Web前端编码规范
通用规范
文件编码
缩进
Tab 在不同的操作系统下长度可能不同,为了代码在任何情况下都缩进一致要使用空格。
在所有的IDE工具中,都可以设置1个Tab键转换成4个空格,这样就可以敲一个Tab键输出4个空格。
注释
注释内容两边要各有一个空格。
省略协议头
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <!-- 省略http/https协议头 --> <img src="//www.xxx.com/x.jpg"> </body> </html>
项目名、目录名和文件名
HTML 规范
文档声明
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> </body> </html>
大小写
为根元素指定 lang 属性
“en”代表英文;”zh-CN”代表简体中文。
字符编码
使用UTF-8编码,就不需要使用类似 — 、 ” 和 ☺ 等的实体引用。
明确声明字符编码,能够确保浏览器快速并容易的判断页面内容的渲染方式。
“UTF-8”大小写均合法,但建议大写。
属性
属性值使用双引号
布尔型属性不用赋值
属性顺序
(1) class
(2) id
(3) name
(4) data-*
(5) src, for, type, href, value, max-length, max, min, pattern
(6) placeholser, title, alt
(7) aria-*, role
(8) required, readonly, disabled
启用 IE Edge 模式
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge"> <title>Document</title> </head> <body> </body> </html>
排版
嵌套元素应当缩进
尽量避免多余父元素
不要在自闭合元素的尾部添加斜线
不要省略可选的结束标签
行末不要有空格
id 和 class
id和class的使用场景
用于布局的元素用class,不管是不是在页面中唯一。
id 和 class命名
名称反映功能。
JavaScript生成标签
结构、样式、行为分离
引入css文件和js文件不需要指定type属性,因为 text/css 和 text/javascript 分别是它们的默认值。
js文件应当放在页面末尾。
提供有关页面的元信息
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge"> <meta name=”description” content=” ”> <meta name=”keywords” content=” ”> <meta name=”author” content=” ”> <title>Document</title> </head> <body> </body> </html>
使用HTML5新语义标签
CSS 规范
每个选择器单独占一行
每条声明独占一行
声明块的左花括号前添加一个空格
声明块的右花括号应当独占一行
声明语句的 : 后应该插入一个空格
声明语句以分号结尾
以逗号分隔的属性值,逗号后面插入一个空格
这样利于从多个属性值(既加逗号也加空格)中区分多个颜色值(只加逗号,不加空格)。
#div { background-color: rgba(0,0,0,.5); box-shadow: 0 1px 2px #ccc, inset 0 1px 0 #fff; }
省略小于 1 的小数前面的 0
十六进制值全部小写
使用简写形式的十六进制值
为选择器中的属性添加双引号
避免为 0 值指定单位
属性顺序
(1) Positioning
(2) Box model 盒模型
(3) Typographic 排版
(4) Visual 外观
.declaration-order { /* Positioning */ position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 100; /* Box-model */ display: block; float: right; width: 100px; height: 100px; /* Typography */ font: normal 13px "Helvetica Neue", sans-serif; line-height: 1.5; color: #333; text-align: center; /* Visual */ background-color: #f5f5f5; border: 1px solid #e5e5e5; border-radius: 3px; /* Misc */ opacity: 1; }
将媒体查询放在相关规则的附近
当使用带特定厂商前缀的属性时,属性的值垂直对齐
.selector { -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.15); box-shadow: 0 1px 2px rgba(0,0,0,.15); }
不要使用@import
选择器的性能
(2)避免在经常出现的组件中使用一些属性选择器 (例如,[class^="..."])。浏览器性能会受到这些情况的影响。
(3)减少选择器的长度,每个组合选择器选择器的条目应该尽量控制在 3 个以内。
代码组织
(2) 制定一个一致的注释层级结构。
(3) 使用一致的空白来分割代码块,这样做在查看大的文档时更有优势。
JavaScript规范
杂项
保证favicon可访问
(1)在 Web Server 根目录放置 favicon.ico 文件。
(2)使用 link 指定 favicon:<link rel="shortcut icon" href="path/faviconName.ico">
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。