XHTML 和 DOCTYPE 切换

时间:2007-05-31 09:30:00 

为 Web页指定 DOCTYPE 会影响浏览器呈现页的方式。Internet Explorer、Mozilla Firefox 和 Opera 全都支持一种名为“DOCTYPE 切换”(也叫“DOCTYPE 嗅探”)的功能。

引入 DOCTYPE 切换的目的是使浏览器能够正确地呈现符合标准的 Web 站点以及旧式 Web 站点。大多数 Web 站点被开发为呈现 HTML 页而不是 XHTML 页。浏览器通过判断是否存在 DOCTYPE 来确定何时应该使用标准来呈现页。

Internet Explorer 6+ 支持两种呈现模式,分别叫做 Quirks 模式和 Standards 模式。当 Internet Explorer 呈现包含有效 XHTML(或 HTML 4.0)DOCTYPE 的页时,它会以 Standards 模式呈现该页;否则,它会以 Quirks模式呈现该页(有关详细信息,请参阅 CSS Enhancements in Internet Explorer 6)。

Opera 浏览器 (Opera 7+) 支持与 Internet Explorer 相同的两种呈现模式:Quirks 和 Standards(有关详细信息,请参阅 http://www.opera.com/docs/specs/doctype/)。

Mozilla Firefox 1+ 支持三种呈现模式:Quirks 模式、Almost Standards 模式和 Standards 模式。Firefox 的 Almost Standards 模式对应于 Internet Explorer 和 Opera 的 Standards 模式。当页包含有效的 XHTML 1.0 Transitional DOCTYPE(并且该页被分配为 text/html MIME 类型)时,Firefox 会以 Almost Standards 模式呈现该页。当页包含 XHTML 1.0 Strict 或 XHTML 1.1 DOCTYPE(或者该页被分配为 XML MIME 类型)时,该页将以 Standards 模式呈现(有关详细信息,请参阅 http://www.mozilla.org/docs/web-developer/quirks/doctypes.html)。

可以通过临时向页中添加以下客户端脚本(该脚本在最新版本的 Internet Explorer、Firefox 和 Opera 中有效)确定浏览器的当前呈现模式。

<script type="text/javascript"> alert( document.compatMode ); </script>

您需要关心浏览器的呈现模式,因为它会影响将层叠样式表应用于该页的方式。如果将现有 HTML 页转换为 XHTML 页,那么在浏览器中打开它们时,它们可能看起来非常不同。

注意:IE的Standards 模式相当于firefox、opera的Almost Standards 模式,它们的DOCTYPE为

-//W3C//DTD XHTML 1.0 Transitional//EN

标签:DOCTYPE,firefox,opera,IE
0
投稿

猜你喜欢

  • python Selenium等待元素出现的具体方法

    2022-02-22 02:47:20
  • python wav模块获取采样率 采样点声道量化位数(实例代码)

    2023-04-26 23:25:28
  • 基于Python实现围棋游戏的示例代码

    2022-08-21 07:56:39
  • 零基础写python爬虫之爬虫编写全记录

    2021-09-06 22:53:27
  • tensorflow使用CNN分析mnist手写体数字数据集

    2021-07-20 20:29:35
  • Python中实现结构相似的函数调用方法

    2021-12-04 10:31:03
  • Pandas数据处理加速技巧汇总

    2023-08-12 19:02:36
  • jQuery入门之–属性(一)

    2009-07-12 15:29:00
  • 随机抽取的sql语句 每班任意抽取3名学生

    2024-01-27 10:12:26
  • python 读取以空格分开的文件操作

    2022-09-08 05:33:21
  • python 3.10上如何安装pyqt5

    2022-04-09 23:59:53
  • VUE前端cookie简单操作

    2024-04-30 08:44:57
  • javascript中利用柯里化函数实现bind方法【推荐】

    2024-05-02 17:29:26
  • Python抓包并解析json爬虫的完整实例代码

    2021-12-17 14:54:32
  • 如何利用Golang解析读取Mysql备份文件

    2024-01-28 20:51:19
  • sql语句返回主键SCOPE_IDENTITY()

    2011-09-30 11:28:45
  • 关于Python中进度条的六个实用技巧分享

    2023-07-03 09:58:39
  • 在JS循环中使用async/await的方法

    2024-05-02 16:19:14
  • 详解Python如何优雅地解析命令行

    2021-02-16 01:53:59
  • 简单三步实现报表页面集成天气

    2024-04-25 13:08:16
  • asp之家 网络编程 m.aspxhome.com