HTML 规范
Vue Template 同样适用; 阿里前端开发手册;京东凹凸实验室前端规范;
概览 📋
内容 👹
HTML 类型
TIP
正例使用 HTML5 的文档类型申明: (建议使用 text/html 格式的 HTML。避免使用 XHTML。XHTML 以及它的属性,比如 application/xhtml+xml 在浏览器中的应用支持与优化空间都十分有限)。
- 规定字符编码
- IE 兼容模式
- 规定字符编码
- doctype 大写
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" /> <meta charset="UTF-8" />
<title>Page title</title>
</head>
<body> <img src="images/company-logo.png" alt="Company"> </body>
</html>
分块注释
在每一个块状元素,列表元素和表格元素后,加上一对 HTML 注释。
语义化标签
HTML5 中新增很多语义化标签,所以优先使用语义化标签,避免一个页面都是 div 或者 p 标 签。
- header,section,footer,aside,nav,main,article,figure所有的这些元素都是块级元素
<header></header>
<footer></footer>
<div>
<p></p>
</div>
引号
- 使用双引号(" ") 而不是单引号(’ ') 。
<div class="box"></div>
<div class="box"></div>
DOCTYPE 声明
- HTML文件必须加上 DOCTYPE 声明,并统一使用 HTML5 的文档声明:
<!DOCTYPE html>
页面语言LANG
- 正例使用属性值 cmn-Hans-CN(简体, 中国大陆),但是考虑浏览器和操作系统的兼容性,目前仍然使用 zh-CN 属性值
<html lang="zh-CN">
CHARSET
因为 ISO-8859 中字符集大小是有限的,且在多语言环境中不兼容,所以 Unicode 联盟开发了 Unicode 标准。
Unicode 标准覆盖了(几乎)所有的字符、标点符号和符号。
Unicode 使文本的处理、存储和运输,独立于平台和语言。
HTML-5 中默认的字符编码是 UTF-8
<meta charset="UTF-8">
元素及标签闭合
- 所有具有开始标签和结束标签的元素都要写上起止标签,某些允许省略开始标签或和束标签的元素亦都要写上。
- 空元素标签都不加 “/” 字符
<div>
<h1>我是h1标题</h1>
<p>我是一段文字,我有始有终,浏览器能正确解析</p>
</div>
<br>
<div>
<h1>我是h1标题</h1>
<p>我是一段文字,我有始无终,浏览器亦能正确解析
</div>
<br/>
书写风格
HTML代码大小写
<div class="demo"></div>
<div class="DEMO"></div>
<DIV CLASS="DEMO"></DIV>
- HTML文本、CDATA、JavaScript、meta标签某些属性等内容可大小写混合
<!-- 优先使用 IE 最新版本和 Chrome Frame -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<!-- HTML文本内容 -->
<h1>I AM WHAT I AM </h1>
<!-- JavaScript 内容 -->
<script type="text/javascript">
var demoName = 'demoName';
...
</script>
<!-- CDATA 内容 -->
<script type="text/javascript"><![CDATA[
...
]]></script>
类型属性
- 不需要为 CSS、JS 指定类型属性,HTML5 中默认已包含
<link rel="stylesheet" href="" >
<script src=""></script>
<link rel="stylesheet" type="text/css" href="" >
<script type="text/javascript" src="" ></script>
元素属性
- 元素属性值使用双引号语法
- 元素属性值可以写上的都写上
<input type=text>
<input type='text'>
<input type="radio" name="name" checked >
<input type="text">
<input type="radio" name="name" checked="checked" >
特殊字符引用
文本可以和字符引用混合出现。这种方法可以用来转义在文本中不能合法出现的字符。
HTML 中不能使用小于号 “<” 和大于号 “>”特殊字符,浏览器会将它们作为标签解析,若要正确显示,在 HTML 源代码中使用字符实体
<a href="#">more>></a>
<a href="#">more>></a>
代码缩进
- 统一使用四个空格进行代码缩进,使得各编辑器表现一致(各编辑器有相关配置)
<div class="jdc">
<a href="#"></a>
</div>
纯数字输入框
- 使用 type="tel" 而不是 type="number"
<input type="tel">
代码嵌套
- 元素嵌套规范,每个块状元素独立一行,内联元素可选
<div>
<h1></h1>
<p></p>
</div>
<p><span></span><span></span></p>
<div>
<h1></h1><p></p>
</div>
<p>
<span></span>
<span></span>
</p>
段落元素与标题元素只能嵌套内联元素
<h1><span></span></h1>
<p><span></span><span></span></p>
<h1><div></div></h1>
<p><div></div><div></div></p>