html <!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签 之前
<!DOCTYPE> 声明不是 一个 HTML 标签 ;它是用来告知 Web 浏览器 页面 使用了哪种 HTML 版本
在 HTML 4.01 中,<!DOCTYPE> 声明需引用 DTD (文档类型声明),因为 HTML 4.01 是基于 SGML (Standard Generalized Marku P Language 标准通用 标记 语言)
DTD 指定了 标记 语言的规则,确保了浏览器能够正确的渲染 内容
HTML5 不是基于 SGML,因此不要求引用 DTD
总是给 HTML 文档 添加 <!DOCTYPE> 声明,确保浏览器能够预先知道文档类型
<!DOCTYPE> 标签 没有结束 标签
<!DOCTYPE> 声明不区分大小写
范例
<!DOCTYPE?html> < Meta ?charset="utf-8">? <body> 文档 内容 ...... </body>
HTML 4.01 与 HTML5之 间的 差异
HTML 4.01 设置了三种不同的 <!DOCTYPE> 声明,分别是:
Strict
Transitional
Frameset
HTML5 中仅设置了一种
<!DOCTYPE?html>
常见的 DOCTYPE 声明
HTML 5
<!DOCTYPE?html>
HTML 4.01 Strict
这个 DTD 包含所有 HTML 元素和 属性 ,但不 包括 表象或过时的元素 ( 如 font )
框架集是不允许的
<!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01//EN"?"http://HdhCmsTestw3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional
这个 DTD 包含所有 HTML 元素和 属性 , 包括 表象或过时的元素 ( 如 font ) 框架集是不允许的
<!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"?"http://HdhCmsTestw3.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://HdhCmsTestw3.org/TR/html4/frameset.dtd">
XHTML 1.0 Strict
这个 DTD 包含所有 HTML 元素和 属性 ,但不 包括 表象或过时的元素 ( 如 font )
框架集是不允许的
结构必须按标准格式的 XML 进行书写
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Strict//EN"?"http://HdhCmsTestw3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional
这个 DTD 包含所有 HTML 元素和 属性 , 包括 表象或过时的元素 ( 如 font )
框架集是不允许的
结构必须按标准格式的 XML 进行书写
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://HdhCmsTestw3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset
这个 DTD 与 XHTML 1.0 Transitional 相同,但是允许使用框架集 内容
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Frameset//EN"?"http://HdhCmsTestw3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.1
这个 DTD 与 XHTML 1.0 Strict 相同,但是允许 添加 模块 ( 例如为东亚语言提供 ruby 支持 )
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.1//EN"?"http://HdhCmsTestw3.org/TR/xhtml11/DTD/xhtml11.dtd">HTML <a> 标签 ? ?HTML <!--...--> 注释标签
查看更多关于HTML <!DOCTYPE> 声明的详细内容...