[Z]XHTML头部Doctype声明必不可少!

转载 2007年10月16日 09:28:00

  DTD(Document Type Definition)是一个XML文档,解释了哪些标签、属性或值对于HTML的一个特定类型是有效的。HTML遵循一定的规则。这些规则包含在一个文档类型定义(Document Type Definition)文件中,或者如大家所知的DTD。每一个HTML版本,都有一个对应的DTD。现在你可能会问:“所有这些和CSS又有什么关系呢?”

  如果想让网页中的所有内容都在网页浏览器上正确、一致地显示,就得告诉网页浏览器你正使用HTML或者XHTML的哪个版本,包括一个网页开头处的文档类型声明(doctype declaration)是什么意思。这个文档类型声明是在HTML文件的第一行,不仅定义你正使用的HTML版本(比如HTML 4.01 Transitional),而且指向网页中适当的DTD文件。当键错文档声明时,你会使大部分浏览器进入一个叫怪异模式(Quirks Mode)(译注1)的警告状态。

  怪异模式(Quirks Mode)是浏览器制造商为使他们的软件运行起来就像大约1999年(Netscape 4和Internet Explorer 5时代)时的浏览器所采用的方法。如果一个现代浏览器遇到一张没有正确文档类型的网页,它就会以为:“嗯,这张网页一定是很早很早以前用HTML编辑器写的。我得假装自己是一个真正很旧的浏览器来显示网页,就像那些bug重重的旧浏览器所显示的那样。”这就是为什么当没有一个正确的文档类型时,你用CSS进行样式设置的可爱网页,可能看起来并不像它根据当前的标准所应该显示的样子。当你在浏览器上检测时,无意中用怪异模式(Quirks Mode)浏览到你的网页,你可能会停止尝试去修正与不正确的文档类型有关、而不是不正当使用HTML或者CSS所引起的显示问题。

  所幸的是,获得正确的文档类型很简单。你所要知道的就是正在使用哪个HTML版本。目前最流行的HTML和XHTML的版本是HTML 4.01 Transitional和XHTML 1.0 Transitional。这些HTML类型仍然让你使用展示型的标签,如标签,在这方面还提供一个从旧版HTML到新版HTML的过渡:更严格的HTML和XHTML标签。虽然最好不要使用这些标签,但它们在Transitional版中仍然起作用,因此你可以根据自己的情况,逐步淘汰这些旧式标签。在严格版的HTML和XHTML中,有些旧式标签根本不起作用。

  注意:一般来说,HTML和XHTML的严格版均不接受仅使网页展现效果好看的标签和属性,如标签和一个段落的置中属性。它们也不接受一些曾经流行的属性,比如一个链接的目标属性——让你在一个新窗口中打开链接。 

关于XHTML头部声明,什么是DOCTYPE?

当我们制作页面的时候,总会在它的源码头部看到一串声明,比如最常见的 http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 如果我们把这...
  • neubuffer
  • neubuffer
  • 2013年11月23日 14:33
  • 569

DTD和DOCTYPE的作用

一直以来写网页,不论用Adobe(以前是Macromedia)的DW,还是Editplus自动生成的初始网页,头部都会加上类似的一句话: 而一直以来本人对他的态度也是忽略的,以为这个东西没什...
  • caomiao2006
  • caomiao2006
  • 2013年07月02日 11:30
  • 4232

DOCTYPE声明——标准模式与怪异模式的区别

DOCTYPE声明:告知浏览器如何解析和渲染文档 DTD:文档类型定义 分类方式一1、标准模式:浏览器按W3C标准解析执行代码 ① 如果XHTML文档包含完整的DOCTYPE,那么它一...
  • Vivian_jay
  • Vivian_jay
  • 2017年03月13日 22:24
  • 812

DOCTYPE声明作用及用法详解

很多朋友不知道DOCTYPE声明的作用,特为大家搜索整理了这篇文章,希望对需要的朋友有所帮助。 一、浏览器呈现模式和doctype       有的网页是遵循标准而创作的,但也有很多不是。即使你不...
  • shecanwin
  • shecanwin
  • 2016年04月06日 15:53
  • 1118

HTML5中回归简单的<!DOCTYPE>声明

默认情况下,Firefox浏览器和IE浏览器的解释标准是不一样的。如果一个网页没有声明DOCTYPE,它就会以默认的DOCTYPE解释下面的HTML或XHTML。在同一种标准下,不同浏览器的解释模型都...
  • wangxiaoqin11
  • wangxiaoqin11
  • 2014年12月19日 21:22
  • 1542

聊html——应该先说DOCTYPE(用法详解)

小记 假如面试官让你谈谈html,我觉得他首先想要了解的应该是你对doctype的理解。(貌似当时I’not get the point) 一、定义描述 在MDN上,对于Doctype有...
  • tangxiaolang101
  • tangxiaolang101
  • 2016年06月14日 13:48
  • 719

DOCTYPE小结,及DOCTYPE位置影响CSS菜单显示的问题

先复制几份比较好的文章:     文摘一: XHTML代码头部Doctype文档类型声明必不可少! CND8学院 HTML教程 发布日期:2008年11月04日 ...
  • fenghome
  • fenghome
  • 2013年06月14日 17:05
  • 1856

HTML DOCTYPE 标签 -- DTDs 文档类型声明

DOCTYPE 标签 -- 定义了标准文档的类型 DOCTYPE标签是单独出现的说明: 文档类型,会使浏览器使用相应标准加载网页并显示文档类型定义在HTML文档的第一行,在html标签之前文档不...
  • qq443068902
  • qq443068902
  • 2014年12月29日 14:27
  • 655

为页面添加正确的doctype声明-W3C标准

用dw设计网页时,代码最前面总要出现一个下面的东东, "http://www.w3.org/tr/html4/loose.dtd"> 这个是dw自动在网页文件页增加了dtd信息(DOCTYPE...
  • qq592304796
  • qq592304796
  • 2016年08月16日 16:57
  • 209

为什么要用<!DOCTYPE>声明

实例: 我们经常会看到类似这样的代码: 文档的标题 文档的内容...... 注解:可以看到最上面有一行关于“DOCTYPE”(文档类型)的声明,它就是告诉浏览器,使用哪...
  • user_longling
  • user_longling
  • 2014年10月22日 14:32
  • 2881
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Z]XHTML头部Doctype声明必不可少!
举报原因:
原因补充:

(最多只允许输入30个字)