HTML规范
背景
参考凹凸实验室的规范,整理提炼出适合当前团队使用的前端规范. 旨在增强团队开发协作,提高代码质量和打造开发基石的编码规范.
代码规范
DOCTYPE声明::: tip DOCTYPE
HTML文件必须加上DOCTYPE声明,并统一使用HTML5的文档声明: :::<!DOCTYPE html>LANG页面语言::: tip LANG 推荐使用属性值
cmn-Hans-CN(简体, 中国大陆),但是考虑浏览器和操作系统的兼容性,目前仍然使用zh-CN属性值 :::<html lang="zh-CN">CHAESET::: tip CHAESET
HTML-5中默认的字符编码是UTF-8请尽量统一写成标准的UTF-8,不要写成utf-8或utf8或UTF8。根据IETF对UTF-8的定义,其编码标准的写法是UTF-8;而UTF8或utf8的写法只是出现在某些编程系统中,如.NET framework的类System.Text.Encoding中的一个属性名就叫UTF8:::<meta charset="UTF-8">元素及标签闭合
HTML元素有5种: ::: info 空元素area、base、br、col、command、embed、hr、img、input、keygen、link、meta、param、source、track、wbr::: ::: info 原始文本元素script、style::: ::: info RCDATA 元素textarea、title::: ::: info 外来元素MathML命名空间和SVG命名空间的元素 ::: ::: info 常规元素 常规元素:其他HTML允许的元素都称为常规元素 :::<!-- 所有具有开始标签和结束标签的元素都要写上起止标签 --> <!-- 某些允许省略开始标签或和束标签的元素亦都要写上 --> <!-- 空元素标签都不加 “/” 字符 --> <div> <h1>我是h1标题</h1> <p>我是一段文字,我有始有终,浏览器能正确解析</p> </div> <br>书写风格
<!-- HTML标签名、类名、标签属性和大部分属性值统一用小写 --> <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>元素属性
<!-- 元素属性值使用双引号语法 --> <input type="text"> <!-- 元素属性值可以写上的都写上 --> <input type="radio" name="name" checked="checked" >特殊字符引用
在
HTML中不能使用小于号 “<” 和大于号 “>”特殊字符,浏览器会将它们作为标签解析,若要正确显示,在HTML源代码中使用字符实体<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> <!-- 段落元素与标题元素只能嵌套内联元素 --> <h1><span></span></h1> <p><span></span><span></span></p>
注释规范
单行注释
模块注释
嵌套模块注释
文件模板
HTML5标准模板移动端
PC端
参考
Last updated
Was this helpful?