网页的DOCTYPE声明的作用

标签: 程序开发 前端技术 | 发表时间:2015-11-01 15:05 | 作者:标点符
分享到:
出处:http://www.biaodianfu.com

DOCTYPE,简称为DTDs,是英文Document type的缩写,中文“文档类型”,在Web设计中用来说明你用的XHTML或者HTML是什么版本。要建立符合标准的XHTML网页,DOCTYPE声明是必不可少的关键组成部分;除非你的XHTML确定了一个正确的DOCTYPE,否则你的标识和CSS都不会生效。

<!DOCTYPE>声明位于位于HTML文档中的第一行,处于 <html> 标签之前。在HTML中 doctype 有两个主要目的。

1)对文档进行有效性验证。

它告诉用户代理和校验器这个文档是按照什么DTD 写的。这个动作是被动的,每次页面加载时,浏览器并不会下载DTD 并检查合法性,只有当手动校验页面时才启用。

2)决定浏览器的呈现模式

对于实际操作,通知浏览器读取文档时用哪种解析算法。如果没有写,则浏览器则根据自身的规则对代码进行解析,可能会严重影响html 排版布局。浏览器有三种方式解析HTML文档。

  • 非怪异(标准)模式
  • 怪异模式
  • 部分怪异(近乎标准)模式

DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。标准模式的排版和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。

HTML DOCTYPE文档类型举例说明

HTML4.01文档过渡定义类型,此类型定义的文档可以使用HTML中的标签与元素包括一些不被W3C推荐的标签(例如:font、b等),不可以使用框架

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

HTML4.01文档严格定义类型,此类型定义的文档可以使用HTML中的标签与元素,不能包含不被W3C推荐的标签(例如:font、b等),不可以使用框架

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

HTML4.01文档框架定义类型,此类型等同于HTML4.01文档过渡定义类型,但可以使用框架

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

XHTML1.0文档过渡定义类型,此类型定义的文档可以使用HTML中的标签与元素包括一些不被W3C推荐的标签(例如:font、b等),不可以使用框架(推荐使用)

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

XHTML1.0文档严格定义类型,此类型定义的文档只可以使用HTML中定义的标签与元素,不能包含不被W3C推荐的标签(例如:font、b),不可以使用框架

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

XHTML1.0文档框架定义类型,等同于XHTML1.0文档过渡定义类型,但可以使用框架

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

XHTML1.1文档严格定义类型,等同于XHTML1.0文档过渡定义类型

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

HTML5文档类型

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

  • -:表示组织名称未注册。Internet 工程任务组(IETF)和万维网协会(W3C)并非注册的 ISO 组织。+为默认,表示组织名称已注册。
  • DTD:指定公开文本类,即所引用的对象类型。 默认为DTD。
  • HTML:指定公开文本描述,即对所引用的公开文本的唯一描述性名称。后面可附带版本号。默认为HTML。
  • URL:指定所引用对象的位置。
  • Strict:排除所有 W3C 专家希望逐步淘汰的代表性属性和元素。

HTML5 为什么只需要写 <!DOCTYPE HTML>?

HTML5 不基于 SGML,因此不需要对DTD进行引用,但是需要doctype来规范浏览器的行为(让浏览器按照它们应该的方式来运行);而HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型。

参考链接:https://zh.wikipedia.org/wiki/SGML

相关 [网页 doctype] 推荐:

网页的DOCTYPE声明的作用

- - 标点符
DOCTYPE,简称为DTDs,是英文Document type的缩写,中文“文档类型”,在Web设计中用来说明你用的XHTML或者HTML是什么版本. 要建立符合标准的XHTML网页,DOCTYPE声明是必不可少的关键组成部分;除非你的XHTML确定了一个正确的DOCTYPE,否则你的标识和CSS都不会生效.

摧毁网页 Kick Ass

- Jerome - 无聊哦
是不是经常遇见一些烂的让你无法淡定的网页,正好有一款游戏Kick Ass可以让你发泄一下,如果看到那个网页不爽就可以用下面方法摧毁它~. 在地址栏中输入下面的代码并按下回车:. (IE用户粘贴到地址栏后需要删除“本文来源无聊哦 | 原文地址:http://www.wuliaoo.com/kick-ass.html”).

网页命名规则

- Bloger - 博客园-首页原创精华区
  内容:content/containe.   页面外围控制整体布局宽度:wrapper.   左右中:left right center.   登录条:loginbar.   友情链接:friendlink.   版权:copyright.   合作伙伴:partner.   容器: container.

响应式网页设计

- - 前端观察
这个话题最近很火爆,我也一直在关注,响应式网页设计和移动互联网密切相关,并因移动终端的丰富和普及而兴盛,并且是一个颇具争议的话题,我今天将和大家探讨下. 上周写了个简单的ppt在组内大概介绍了下,感兴趣的话可以 先看下这个PPT. 在说到这个话题前,我们先看下网页设计和前端开发的现状:. 全球有超过53亿手机用户(包括传统手机).

Webbygram:网页版Instagram再生

- - 互联网的那点事
Webbygram是在Instagram被收购后,另外打造的网页版Instagram,这填补了过去Instagram网页版的空白,它为笔记本和台式用户带来了更强大的图片互动功能,让你轻松把图片互动应用从手机小屏幕搬到电脑大屏幕. 从Instagram Android平台上的巨大成功,我们意识到好的事情是值得我们等待的.

Javascript抽取网页正文

- - 脚本爱好者
最近在开发http://www.sokers.com的时候需要抽取网页正文,在网上也看了很多算法,但效果感觉都不好,有的根本打不开无法看到效果,于是自己就试着写了一个,效果还不错,支持图片和Flash,不仅仅能抽取文字. 方法就是适用打分机制,把正文文字和标签的比例、标点符号、换行等因素累加起来,打分最高的就是正文,当然肯定有识别不出来的,这个是任何算法都无法避免的.

响应式网页设计

- - IT技术博客大学习
响应式网页设计最初是由 Ethan Marcotte 提出的一个概念:为什么一定要为每个用户群各自打造一套设计和开发方案. Web设计应该做到根据不同设备环境自动响应及调整. 当然响应式Web设计不仅仅是关于屏幕分辨率自适应以及自动缩放的图片等等,它更像是一种对于设计的全新思维模式;我们应当向下兼容、移动优先.

网页抓取工具

- - Web前端 - ITeye博客
       Webdup能够把您想要浏览的信息(如网页和图片等)预先下载下来,保存在本地硬盘,使您可以从本地进行离线浏览,这样不仅可以大大减少上网时间,降低上网费用,还可以加快浏览速度;并且将来无须上网就可以很方便地查阅这些信息. 不仅如此, Webdup更提供了备份历次下载记录和比较完善的管理功能,使您能够方便地分类保存和管理有价值的下载信息.

从网页启动Activity

- - 移动开发 - ITeye博客
正好Android SDK 给我们提供了解决方案,在网页中点击某个链接时,会匹配到Activity所配置的隐式Intent(配置在Manifest文件中). 第一步:在Manifest文件中给TestActivity配置一个隐式Intent. 第二步:这时,当在网页中点击链接<a href="testapp://test">Start TestActivity</a>就会启动TestActivity了.

【网页设计】分享21款网页模板PSD

- Ashaum - 博客园-首页原创精华区
作者: 悠游人生 发表于 2011-08-17 17:02 原文链接. 评论: 2 查看评论 发表评论. · 诺基亚CEO:Android手机制造商要“小心”(2011-08-18 08:49). · 土豆上市首日开盘破发(2011-08-18 08:47). · 微软中国欠薪被罚24万赔偿金(2011-08-18 08:47).