`

<!DOCTYPE> 标签的深度剖析以及使用选择

阅读更多
前言:

  现在IE的版本不停地推陈出新,自己设备的网站在高版本的IE中总是表现的有些怪异,才实然发现DOCTYPE是个需要关注的东东。

<!DOCTYPE>的定义:

  <!DOCTYPE>声明位于文档中的最前面的位置,处于<html>标签之前。此标签可告知浏览器文档使用哪种HTML或XHTML规范。<!DOCTYPE> 对大小写不敏感。

  该标签可声明三种DTD类型,分别表示严格版本、过渡版本以及基于框架的HTML版本。(假如文档中的标记不遵循doctype声明所指定的DTD,这个文档除了不能通过代码校验之外,还有可能无法在浏览器中正确显示。)

  语法

  HTML 顶级元素 可用性 "注册//组织//类型 标签//定义 语言" "系统标识符"

  可能值

  顶级元素:指定 DTD 中声明的顶级元素类型。这与声明的 SGML 文档类型相对应。 HTML 默认。HTML。
  可用性:指定正式公开标识符(FPI)是可公开访问的对象还是系统资源。 PUBLIC 默认。可公开访问的对象。
  系统标识符:第一对引号内的内容,为公共标识符,如果浏览器根据该标识符找不到定义,则根据系统标识符指示的位置(如本地文件或 URL)来查找DTD,。
  注册:指定组织是否由国际标准化组织(ISO)注册。 + 默认。组织名称已注册。- 组织名称未注册。Internet 工程任务组(IETF)和万维网协会(W3C)并非注册的 ISO 组织。
  组织:指定表明负责由 !DOCTYPE 声明引用的 DTD 的创建和维护的团体或组织的名称,即 OwnderID。 IETF IETF。W3C。
  类型:指定公开文本类,即所引用的对象类型。 DTD 默认。DTD。
  标签:指定公开文本描述,即对所引用的公开文本的唯一描述性名称。后面可附带版本号。 HTML 默认。HTML。
  定义:指定文档类型定义。 Frameset 框架集文档。Strict 排除所有 W3C 专家希望逐步淘汰的代表性属性和元素,因为样式表已经很完善了。Transitional包含除 frameSet 元素的全部内容。
  语言:指定公开文本语言,即用于创建所引用对象的自然语言编码系统。该语言定义已编写为 ISO 639 语言代码(大写两个字母)。 EN 默认。英语。
  URL:指定所引用对象的位置。

注释
  此声明必须出现在文档的起始处,出现在 html 标签之前。
  !DOCTYPE 元素不需要关闭标签。
  后面的系统标识符(指明DTD文档的位置)挺重要,不能省略,如省略会导致IE以Quirks(怪异)模式显示网页,具体差别请自行搜索Quirks该关键字。

<!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 的位置。

   -   :   表示组织名称未注册。Internet 工程任务组(IETF)和万维网协会(W3C)并非注册的 ISO 组织。

              +为默认,表示组织名称已注册。

DTD  :   指定公开文本类,即所引用的对象类型。 默认为DTD。

HTML :   指定公开文本描述,即对所引用的公开文本的唯一描述性名称。后面可附带版本号。默认为HTML。

URL  :  指定所引用对象的位置。

Strict:排除所有 W3C 专家希望逐步淘汰的代表性属性和元素。



三种HTML文档类型:

HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset。

a) 如果需要干净的标记,免于表现层的混乱,用HTML Strict DTD类型:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

b)Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素. 如果用户使用了不支持层叠样式表(CSS)的浏览器以至于你不得不使用 HTML 的呈现特性时,用     Transitional DTD 类型:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

c) 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">

三种 XML 文档类型:

XHTML 1.0 规定了三种 XML 文档类型:Strict、Transitional 以及 Frameset。

a) 如果需要干净的标记,免于表现层的混乱,用XHTML Strict DTD类型:

     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

b)Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素. 如果用户使用了不支持层叠样式表(CSS)的浏览器以至于你不得不使用 HTML 的呈现特性时,用     Transitional DTD 类型:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

c) Frameset DTD 被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于 Transitional DTD:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">


<!doctype html>

  <!doctype html>标明使用HTML5。因为 HTML 5 不基于 SGML,因此不需要对 DTD 进行引用,但是需要 doctype 来规范浏览器的行为(让浏览器按照它们应该的方式来运行)。
  建议在以后都直接用“<!doctype html>”,用<!doctype html>的话就会开启浏览器的标准兼容模式,在标准兼容模式下,不能保证与其它版本(IE6之前的,直接忽略吧)的 Internet Explorer 保持兼容,文档的渲染行为也许与将来的 Internet Explorer 不同,但也请大家放心地使用吧~~
分享到:
评论

相关推荐

    HTML和XHTML的联系与区别,文档类型<!DOCTYPE>

    2. **语义相似**:两者都使用相同的元素来定义网页的结构,如`&lt;html&gt;`, `&lt;head&gt;`, `&lt;body&gt;`, `&lt;p&gt;`, `&lt;div&gt;`等。 3. **文档类型声明**:在HTML和XHTML中,文档类型的声明`&lt;!DOCTYPE&gt;`用于指示浏览器按照哪种标准解析...

    HTML !DOCTYPE 标签 声明HTML版本

    DOCTYPE&gt;并不是HTML标签,它声明web浏览器关于页面使用哪个 HTML 版本进行编写的指令。 在 HTML 4.01 中,&lt;!DOCTYPE&gt; 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现...

    文章配套网页源代码-HTML <!DOCTYPE> 声明

    博客文章: 关于HTML中的 &lt;!DOCTYPE&gt; 声明 文章配套示例HTML源代码 内容说明:DOCTYPE是Document Type(文档类型)的简写,要想制作符合标准的HTML页面,一个必不可少的关键组成部分就是DOCTYPE声明。

    网页 DOCTYPE html标签的作用1

    这个声明位于HTML文档的开头,且必须在 `&lt;html&gt;` 标签之前。 `&lt;!DOCTYPE html&gt;` 是HTML5规范中的声明方式,它表明当前文档是一个符合HTML5标准的网页。在HTML5之前,不同的DOCTYPE声明对应着不同的HTML或XHTML版本...

    HTML !DOCTYPE 标签.docx

    DOCTYPE&gt;`标签没有闭合标签,即它不需要以`&gt;`结束。 DOCTYPE声明的格式通常如下: ```html &lt;!DOCTYPE 类型 PUBLIC "公开标识符" "系统标识符"&gt; ``` 其中: - `类型`:指明文档遵循的HTML或XHTML规范。 - `公开...

    HTML+CSS+JavaScript 400源码套装.rar

    HTML标签是由尖括号包围的关键字,比如&lt;html&gt;,HTML标签通常是成对出现的,比如&lt;b&gt;&lt;/b&gt;,标签对中的第一个标签为开始标签,第二个标签为结束标签,开始标签和结束标签也被称为开放标签和闭合标签 HTML注释: &lt;!–...

    HTML5程序设计学习笔记

    DOCTYPE&gt;`标签的作用与使用方法 `&lt;!DOCTYPE&gt;`标签作为HTML文档的首个元素,在整个文档解析过程中起着至关重要的作用。它告诉浏览器当前文档遵循的是哪种HTML标准,从而确保浏览器能够正确地解析和渲染网页。 #####...

    index.html

    &lt;!-- 注释:用于代码的解释 快捷键Ctrl+? --&gt; &lt;!-- 声明该文档是html5版本的类型 --&gt; &lt;!DOCTYPE html&gt; &lt;!-- 双标签:有头有尾,并且尾巴内会有一个关闭符:/ --&gt; &lt;!-- 该文档的根元素(根节点) --&gt; ...

    一个简单的xml文件

    &lt;电话 类别="移动电话"&gt;18993380967&lt;/电话&gt; &lt;地址&gt; &lt;街道&gt;长安街95号&lt;/街道&gt; &lt;城市&gt;北京市&lt;/城市&gt; &lt;省份&gt;北京&lt;/省份&gt; &lt;/地址&gt; &lt;/联系人&gt; &lt;联系人&gt; &lt;姓名&gt;赵慧&lt;/姓名&gt; &lt;ID&gt;201003101116&lt;/ID&gt; &lt;公司&gt;天津...

    HTML标签大全

    DOCTYPE&gt; 文档类型 &lt;html&gt;文档 &lt;body&gt;文档主体 &lt;h1&gt; to &lt;h6&gt; HTML 标题 &lt;p&gt;段落 &lt;br&gt;换行 &lt;hr&gt;水平线 &lt;!--...--&gt;注释 --文本 &lt;b&gt;粗体文本 &lt;font&gt;不赞成用。文本字体、尺寸和颜色 &lt;i&gt;斜体文本 &lt;em&gt;强调文本 &lt;big&gt;大...

    HTML 语法大全!超级精炼<一点通>

    &lt;a开始到z结束&gt; 所有对象的用法! 以及初学者容易理解的简单例子! &lt;!DOCTYPE&gt; 指定了 HTML 文档遵循的文档类型定义(DTD)。 &lt;!-- ... --&gt; 批注 &lt;a&gt; 标明超链接的起始或目的位置。 &lt;A HREF TARGET&gt; 指定超级链接的...

    JavaWeb-第1章-网页开发基础

    &lt;table&gt;标签用于定义一个表格,&lt;tr&gt;标签用于定义表格的一行,&lt;td&gt;标签用于定义表格的一个单元格。 (4)表单标签 &lt;form&gt;标签用于定义一个表单域,&lt;input&gt;标签用于定义表单控件,例如单行文本输入框、密码输入框、...

    web开发设计教程,常用指令讲解,实际案例资源代码详细讲解并附注释.txt

    标签:如&lt;html&gt;、&lt;head&gt;、&lt;body&gt;、&lt;h1&gt;到&lt;h6&gt;(标题)、&lt;p&gt;(段落)、&lt;a&gt;(链接)、&lt;img&gt;(图像)等。 示例代码: &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;我的网页&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;h1&gt;欢迎来到我的网页&lt;/...

    超炫酷代码,HTML格式

    例如,&lt;a&gt;标签用于创建可点击的链接,它的href属性指定目标URL,而文字则包含在&lt;&gt;和&lt;/a&gt;之间。图片标签&lt;img&gt;的src属性指定了图片的路径,alt属性提供了当图片无法显示时的替代文本。 HTML还支持表格(&lt;table&gt;)、表单...

    xml与dtd调用相关实例

    DOCTYPE&gt;`声明还可以使用`PUBLIC`关键字,这通常用于引用公共的DTD资源,例如: ```xml &lt;!DOCTYPE book PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

    学习tag标签的例子

    &lt;tlibversion&gt;1.2&lt;/tlibversion&gt; &lt;jspversion&gt;1.1&lt;/jspversion&gt; &lt;shortname&gt;hello&lt;/shortname&gt; &lt;tag&gt; &lt;!-- 自定义的标记名--&gt; &lt;name&gt;hello&lt;/name&gt; &lt;!--该标记对应的类的类名--&gt; &lt;tagclass&gt;org....

    DTD教程,来自3cSchool

    &lt;/body&gt; &lt;/note&gt; ``` 在这个例子中,`&lt;!DOCTYPE note [...]&gt;`定义了文档类型为`note`,并且规定了`note`元素包含`to`、`from`、`heading`和`body`这四个子元素,每个子元素都允许包含字符数据(#PCDATA)。 外部...

    为什么使用DOCTYPE HTML

    这个声明位于HTML文档的开头,通常在`&lt;html&gt;`标签之前。它的作用在于确保浏览器以正确的方式解析和渲染网页内容。 在没有DOCTYPE HTML的情况下,浏览器会进入所谓的“怪异模式”或“ quirks mode”。在怪异模式下,...

    HTML基础知识.pdf

    DOCTYPE&gt;标记位于文档的最前面,用来向浏览器说明当前文档使用哪种HTML或XHTML(可扩展超文本标记语言)标准规范,必需在开头处使用&lt;!DOCTYPE&gt;标记为所有的XHTML文档指定XHTML版本和类型,只有这样浏览器才能将该...

    网页设计文字与段落.ppt

    HTML的`&lt;body&gt;`标签定义了网页的主体内容,它可以包含多个属性,如`bgcolor`设置背景色,`text`定义文字颜色,以及`margin`属性用于设置页面边距。例如: ```html &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;网页标题&lt;/...

Global site tag (gtag.js) - Google Analytics