[TOC]
HTML编程规范
1 前言
无
2 代码风格
2.1 文件
[建议] 用不带 BOM 头的 UTF-8 编码
用没有字节顺序标记的UTF-8编码格式进行编写。
在HTML模板和文件中指定编码 . 不需要制定样式表的编码,它默认为UTF-8.
2.2 结构
2.2.1 缩进
[强制] 每次缩进 4 个空格,不允许使用 2 个空格过 tab 字符
[强制] 每个块元素、列表元素或表格元素都独占一行,每个子元素都相对于父元素进行缩进
将块元素、列表元素或表格元素都放在新行。
另外,需要缩进块元素、列表元素或表格元素的子元素。
(如果出现了列表项左右空文本节点问题,可以试着将所有的 li 元素都放在一行。 )
Space, the final frontier.
- 一
- 二
- 三
姓名年龄
张三16[强制] html、head、body 以及 head 和 body 的直接子元素不缩进
2.2.2 空格
[强制] 元素属性中的 = 左右不能出现空格
...
...
...
...
2.2.3 换行
[建议] 每行代码不超过 120 个字符
考虑到 html 的特殊性,不作强制要求。
2.3 注释
[建议] 在模块的开始和结束位置添加模块开始/结束注释
这样做是很有必要的,可以使代码结构更加清晰,便于维护,尤其是模块代码很多行的时候。
开始注释:。
结束注释:。
模块代码比较少的时候允许只有开始注释!
3 语言特性
3.1 DOCTYPE
[强制] 使用HTML5标准,且DOCTYPE大写
DOCTYPE 不可省略。
3.2 元素
[强制] 元素名必须小写
[强制] 不要省略可选的结束标签(closing tag)
这是一段文本
这是一段文本
[强制] 不要在自闭合元素(Void elements)尾部添加斜线
常见的自闭合元素:
不太常见的无内容元素:
示例:
[强制] 标签必须合理地嵌套
块元素可以包含内联元素或块元素。
内联元素不能包含块元素。
几个特殊的块元素只能包含内联元素,不能包含块元素:h1-h6、p、dt、caption、hr。
其他规则,如 tbody 必须置于 table 中。
[建议] 合理使用语义化标签
合理使用,不滥用。
原因:SEO优化。
[建议] 不使用样式有关的元素
如center、u 等等。
[建议] 减少不必要的嵌套
3.3 属性
[强制] 属性必须小写
[建议] 自定义属性以 data- 开头
[强制] 属性值必须用双引号包围
不允许使用单引号,不允许不加引号。