示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>文档标题</title>
</head>
<body>
这是一个HTML5页面
</body>
</html>
标签定义及使用说明:
<!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前。
<!DOCTYPE> 声明并非一个 HTML 标签。它是一条“信息”,用来告知 web 浏览器页面使用哪种 HTML 版本进行编写的指令。
在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD(文档类型声明),因为 HTML 4.01 是基于 SGML(Standard Generalized Markup Language 标准通用标记语言)。DTD 规定了标记语言的规则,确保浏览器可以正确的呈现内容。
HTML5 不基于 SGML,所以不需要引用 DTD。
提示:
①请始终向 HTML 文档添加 <!DOCTYPE> 声明,确保浏览器能够获知文档类型。
②<!DOCTYPE> 声明没有结束标签。
③<!DOCTYPE> 声明对大小写不敏感。
HTML 4.01 与 HTML5 之间的差异
HTML5:
在 HTML5 中,<!DOCTYPE> 声明非常简单:
<!DOCTYPE html>
HTML 4 或 XHTML:
在更老的文档中(HTML 4 或 XHTML),该声明更为复杂,因为声明必须引用 DTD (Document Type Definition)。
在 HTML 4.01 中有三种 <!DOCTYPE> 声明:
HTML 4.01 Strict
该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional
该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Frameset
该 DTD 等同于 HTML 4.01 Transitional,但允许框架集内容。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
阅读延伸:
<!DOCTYPE html> 是 HTML5 中唯一的 doctype,也被视作将网页 "升级" 到 HTML5 的第一步。
很多国外网站的 <!DOCTYPE html> 和 <HEAD> 之间都会有一段注释,如:
<!—[if IE 6 ]><html class="ie ielt9 ielt8 ielt7 ie6" lang="en-US"><![endif]—>
<!—[if IE 7 ]><html class="ie ielt9 ielt8 ie7" lang="en-US"><![endif]—>
<!—[if IE 8 ]><html class="ie ielt9 ie8" lang="en-US"><![endif]—>
<!—[if IE 9 ]><html class="ie ie9" lang="en-US"><![endif]—>
<!—[if (gt IE 9)|!(IE)]><!—><html lang="en-US"><!—<![endif]—>
改代码作用于 css,来写一些针对 IE 各版本的样式差异。
先判断用户用的哪个 IE 版本,然后在标签上加上该版本的 class,这样可以方便 hack。
css 文件是这样写的:
.ie6 xxx {};
.ie7 xxx {};
这是目前最好的 hack 方式之一。