<!DOCTYPE html>
声明必须放在每个 HTML 文档的开头:它通知浏览器文档类型。
内容
<!DOCTYPE html> 的含义
每个 Web 文档的第一行都应该包含一个<!DOCTYPE html>
声明。即使它包含在尖括号中,它也不是标签而是语句。
Doctype 代表文档类型声明。它通知 Web 浏览器有关构建 Web 文档时使用的 HTML 的类型和版本。这有助于浏览器正确处理和加载它。
虽然此语句的HTML 语法有些简单,但您必须注意每个版本的 HTML 都有自己的规则。
HTML5 文档类型声明
<!DOCTYPE html>
与以前的版本相比,HTML5声明是最简单和最短的:
<!DOCTYPE html>
旧版本 HTML 中的 doctype
HTML5之前的版本基于标准通用标记语言 (SGML),因此它们的 !doctype 声明必须包含对其相应文档类型声明 (DTD)的引用。这也意味着保存 DTD 声明并为严格模式和过渡模式设置单独的声明。
注意: HTML5 基于它自己的标准而不是 SGML——这就是 HTML5 文档类型不需要 DTD 的原因。
今天创建一个网站,你肯定会使用 HTML5 的简单 doctype。但是,您可能会在旧文档中遇到其他更复杂的版本。您将在下面找到一些示例。
HTML 4.01
在 HTML4 中,doctype 声明比 HTML5 中的相对更长且更具描述性。它包含所有 HTML 元素和属性,但不允许使用框架集。在下面的示例中,您可以看到HTML 4.01过渡版本的 doctype 声明:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
下一个示例展示了HTML 4.01严格模式下的文档类型。严格模式和过渡模式之间的主要区别在于,该模式不包含展示和弃用元素:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
XHTML 1.0 严格
此 HTML 文档类型声明还包含所有元素和属性,但不包含展示性和不推荐使用的元素。但是,它必须用严格的XML编写:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.1
这<!DOCTYPE html>
与 XHTML 1.0 Strict 非常相似,但允许您添加模块(例如,为亚洲语言提供ruby 文本支持):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
HTML <!DOCTYPE html>:有用的提示
- 如果您跳过HTML5 doctype 声明,系统会 在您运行网站时自动添加。这不适用于旧版本的 HTML。
- 每个 HTML 版本的DTD都可以在其官方规范中找到(例如,在这里您可以看到 HTML 4.01 的 DTD)。