在html文件的开始,我们都能看到这样的语句:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
这个语句被称作“文档类型定义语句”,其中的“DOCTYPE”就是文档定义类型的标签,“<!DOCTYPE ”这一段表示这个标签开始,"-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" 这一部分表示它指定了一个html的规范文件,这个规范文件说明了在一个网页文件当中所能够使用的html标签以及这些标签之间的嵌套关系,如果我们把一个<html>....</html>标签比做一个合同文件,那么<!DOCTYPE> 标签中所指定的规范文件就好比是在合同中我们引述的类似“依据国家某某法的条文...的规定”这样的说明,并且给出了 “某某法的条文”这个文档的具体位置,使我们更好的参考严格按照规定来执行这些规定,所以<!DOCTYPE> 标签的意义在于:如果能准确的知道创建这个html文件的版本,将更加有助于浏览器和其他的软件程序更精确的对网页内容显示和控制
文档类型定义 Document Type Definition ,DTD
DTD语法:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
分解:
1.DOCTYPE 说明这是一个文档类型定义说明语句
2.html 指定了文档类型的名称,说明他是一个网页文件,所以他也可以是XML
3.PUBLIC 表明所依据的DTD文件可对任何人公开访问,而不是某公司内部的规范文件
4."-//W3C//DTD XHTML 1.0 Strict//EN" 引号内的是version name即版本名称,其中,开头的减号"-"表示的含义:对于ISO标准的DTD以“ISO”三个字母开头,被改进的非ISO标准的DTD以加号“+”开头,未被改进的非ISO标准的DTD以减号“-”开头;“W3C”表示DTD文件所有者的名称,它属于W3C组织;“DTD XHTML 1.0 Strict”表示DTD文件的类型;“EN”是这个DTD文件所用的语言
5.http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd 这个url指定的是该html语言的定义规范文件再Internet上的位置,就是说它就是以上"-//W3C//DTD XHTML 1.0 Strict//EN" 这个DTD版本文件的具体存储位置
6.对于strict.dtd,我们还可以将他修改为loose.dtd或frameset.dtd,其中strict.dtd说明当前的网页文档里的所以xhtml的元素是符合xhtml 1.0严格标准的,loose.dtd说明当前的网页文档当中可能含有xhtml 1.0严格标准所定义的元素以及标准以外的一些元素,frameset.dtd说明当前的网页文档当中除了含有xhtml 1.0严格标准所定义的元素以外还包括框架和连接目标等元素。
上述内容是本人看完视频教程后整理出来的,讲解比较详细、通俗,以下内容摘自网络http://www.w3school.com.cn/tags/tag_doctype.asp
定义和用法
<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。
该标签可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。
以下面这个 <!DOCTYPE> 标签为例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
在上面的声明中,声明了文档的根元素是 html,它在公共标识符被定义为 "-//W3C//DTD XHTML 1.0 Strict//EN" 的 DTD 中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,浏览器将使用公共标识符后面的 URL 作为寻找 DTD 的位置。
提示和注释:
注释:<!DOCTYPE> 标签没有结束标签!
HTML
HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset。
HTML Strict DTD
如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " http://www.w3.org/TR/html4/strict.dtd">
HTML Transitional DTD
Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 HTML 的呈现特性时,请使用此类型:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd">
Frameset DTD
Frameset DTD 应当被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于 Transitional DTD:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" " http://www.w3.org/TR/html4/frameset.dtd">
XHTML
XHTML 1.0 规定了三种 XML 文档类型:Strict、Transitional 以及 Frameset。
XHTML Strict DTD
如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML Transitional DTD
Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 XHTML 的呈现特性时,请使用此类型:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML Frameset DTD
当您希望使用框架时,请使用此 DTD!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 如需检查你是否编写了带有正确 DTD 的合法 XHTML 文档,您可以把您的 XHTML 页面链接到一个 XHTML 验证器。