DOCTYPE html
当查看网页源代码时,经常都能见到在顶部有一条很长的代码,这条代码就是用于对网页的声明,DOCTYPE的声明是网页形成的一个关键部分,现在就来详细的了解一下它的用途及声明的类型。
相对于现在的HTML5,DOCTYPE声明中的写法已变得简明,DOCTYPE
html>
是现在HTML5的标准声明,无论是用记事本、或是用网页制作工具创建一个HTML页面时,只需要在代码的开头写上写上这句即可,它告诉了浏览器当前网页采用的是HTML5形式,标准的主流浏览器都认识这个声明。
DOCTYPE是什么?
DOCTYPE是document type的简写,它并不是 HTML
标签,也没有结束标签,它是一种标记语言的文档类型声明,即告诉浏览器当前 HTML 是用什么版本编写的。DOCTYPE的声明必须是
HTML
文档的第一行,位于html标签之前。当用Dreamweaver软件创建一个网页文档时,就会发现顶部自动生成一组DOCTYPE声明的代码:
图中DOCTYPE声明的意思为:表示文档的根元素是 html,它在公共标识符被定义为
"-//W3C//DTD XHTML 1.0 Transitional//EN" 的 DTD
中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,浏览器将使用公共标识符后面的 URL 作为寻找 DTD
的位置。 这句话告知浏览器文档使用哪种 HTML 或 XHTML 规范。
大多数Web文档的顶部都有doctype声明,它是在新建一个文档时,由Web创作软件草率处理的众多细节之一。很少人会去注意
doctype ,但在遵循标准的任何Web文档中,它都是一项必需的元素。doctype会影响代码验证,并决定了浏览器最终如何显示你的
Web文档。
DOCTYPE有哪几种?
DOCTYPE可声明三种 DTD 类型:严格、过渡以及框架集的 HTML
文档。
超文本严格文档类型定义:HTML Strict DTD。
如果需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表配合使用。该
DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如
font)。不允许框架集(Framesets)。
代码为:DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//en" "http://www.w3.
org/TR/html4/strict.dtd"
超文本过渡文档类型定义:HTML Transitional DTD。
可包含 W3C
所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 HTML
的呈现特性时,请使用此类型。该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如
font)。不允许框架集(Framesets)。
代码为:DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"
超文本框架集文档类型定义:Frameset DTD。
此类型定义应当被用于带有框架的文档。除 frameset 元素取代了 body
元素之外,Frameset DTD 等同于 Transitional DTD。该 DTD 等同于 HTML 4.01
Transitional,但允许框架集内容。
代码为:DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd"
DOCTYPE的作用是什么?
DOCTYPE声明中指出阅读程序应该用什么规则来解释文档中的标记。在Web文档的情况下,阅读程序通常是浏览器或者校验器这样的一个程序,规则是W3C所发布的一个文档类型定义
DTD 中包含的规则。
制作一个符合标准的网页,DOCTYPE声明是是不可缺少的,它在Web设计中用来说明你用的XHTML或者HTML是什么版本,如果不做DOCTYPE声明或声明不正确的情况下,将有可能导致你的标识与CSS失效,从而令你网页的布局变乱,造成网页在浏览器中不能正常的显示。我们还可以通过W3C提供的验证工具来检查页面的内容是否符合在DOCTYPE中声明的标准。