1.用两个空格来代替制表符(tab) -- 这是唯一能担保在所有环境下得到同等展现的方法。
2.嵌套元素应该缩进一次(即两个空格)。
3.对付属性的定义,确保全部利用双引号,绝不要利用单引号。
4.不要在自闭合(self-closing)元素的尾部添加斜线
5.不要省略可选的结束标签(closing tag)(例如,</li> 或</body>)。
6.为每个 HTML 页面的第一行添加标准模式(standard mode)的声明,这样能够确保在每个浏览器中拥有同等的展现。<!DOCTYPE html>
7.措辞属性
根据 HTML5 规范:
强烈建议为 html 根元素指定 lang 属性,从而为文档设置精确的措辞。这将有助于语音合成工具确定其所该当采取的发音,有助于翻译工具确定其翻译时所应遵守的规则等等.
<html>
<!-- ... -->
</html>
8.IE 兼容模式
IE 支持通过特定的 <meta> 标签来确定绘制当前页面所该当采取的 IE 版本。除非有强烈的分外需求,否则最好是设置为 edge mode,从而关照 IE 采取其所支持的最新的模式。
<metahttp-equiv=\"大众X-UA-Compatible\"大众content=\"大众IE=Edge\公众>
9.字符编码
通过明确声明字符编码,能够确保浏览器快速并随意马虎的判断页面内容的渲染办法。这样做的好处是,可以避免在 HTML 中利用字符实体标记(character entity),从而全部与文档编码同等(一样平常采取 UTF-8 编码)。
<head>
<meta charset=\"大众UTF-8\公众>
</head>
10.引入 CSS 和 JavaScript 文件
根据 HTML5 规范,在引入 CSS 和 JavaScript 文件时一样平常不须要指定 type 属性,由于 text/css 和 text/javascript 分别是它们的默认值。
<!-- External CSS -->
<link rel=\"大众stylesheet\公众 href=\公众code-guide.css\"大众>
<!-- In-document CSS -->
<style>
/ ... /
</style>
<!-- JavaScript -->
<script src=\"大众code-guide.js\公众></script>
11.
布尔(boolean)型属性
布尔型属性可以在声明时不赋值。XHTML 规范哀求为其赋值,但是 HTML5 规范不须要。
<input type=\公众checkbox\公众 value=\公众1\"大众 checked>
12.
减少标签的数量
编写 HTML 代码时,只管即便避免多余的父元素。很多时候,这须要迭代和重构来实现。请看下面的案例:
<!-- Not so great -->
<span>
<img src=\"大众...\公众>
</span>
<!-- Better -->
<img src=\"大众...\"大众>
13.
不要利用 @import
与 <link> 标签比较,@import 指令要慢很多,不只增加了额外的要求次数,还会导致不可预见的问题。替代办法有以下几种:
利用多个 <link> 元素
通过 Sass 或 Less 类似的 CSS 预处理器将多个 CSS 文件编译为一个文件
通过 Rails、Jekyll 或其他系统中供应过 CSS 文件合并功能
14.
class 命名
class 名称中只能涌现小写字符和破折号(dashe)(不是下划线,也不是驼峰命名法)。破折号应该用于干系 class 的命名(类似于命名空间)(例如,.btn 和 .btn-danger)。
避免过度任意的简写。.btn 代表 button,但是 .s 不能表达任何意思。
class 名称应该尽可能短,并且意义明确。
利用故意义的名称。利用有组织的或目的明确的名称,不要利用表现形式(presentational)的名称。
基于最近的父 class 或基本(base) class 作为新 class 的前缀。
利用 .js- class 来标识行为(与样式相对),并且不要将这些 class 包含到 CSS 文件中。
.t { ... }
.red { ... }
.header { ... }
/ Good example /
.tweet { ... }
.important { ... }
.tweet-header { ... }