浏览器怪异模式和标准模式之间的区别 DTD

从IE6开始,引入了Standards模式,标准模式中,浏览器尝试给符合标准的文档在规范上的正确处理达到在指定浏览器中的程度。

在IE6之前CSS还不够成熟,所以IE5等之前的浏览器对CSS的支持很差, IE6将对CSS提供更好的支持,然而这时的问题就来了,因为有很多页面是基于旧的布局方式写的,而如果IE6 支持CSS则将令这些页面显示不正常,如何在即保证不破坏现有页面,又提供新的渲染机制呢?

在写程序时我们也会经常遇到这样的问题,如何保证原来的接口不变,又提供更强大的功能,尤其是新功能不兼容旧功能时。遇到这种问题时的一个常见做法是增加参数和分支,即当某个参数为真时,我们就使用新功能,而如果这个参数 不为真时,就使用旧功能,这样就能不破坏原有的程序,又提供新功能。IE6也是类似这样做的,它将DTD(文档类型定义)当成了这个“参数”,因为以前的页面大家都不会去写DTD,所以IE6就假定 

DTD是为英文Document Type Definition,中文意思为“文档类定义”。

如果写了DTD,就意味着这个页面将采用对CSS支持更好的布局,而如果没有,则采用兼容之前的布局方式。这就是Quirks模式(怪癖模式,诡异模式,怪异模式)。

他们的区别:

<pre id="best-content-1756522211" class="best-text mb-10" name="code" style="white-space: pre-wrap; word-wrap: break-word; margin-top: 0px; margin-bottom: 10px; padding: 0px; font-family: arial, "courier new", courier, 宋体, monospace; line-height: 24px; background-color: rgb(241, 254, 221);"><span style="color: rgb(255, 0, 0); font-family: "Hiragino Sans GB W3", "Hiragino Sans GB", Arial, Helvetica, simsun, u5b8bu4f53; line-height: 24.5px; background-color: rgb(204, 206, 208);"><span style="white-space:pre">	</span>1.在严格模式中 :给元素设置的</span><span style="color: rgb(255, 0, 0); font-family: "Hiragino Sans GB W3", "Hiragino Sans GB", Arial, Helvetica, simsun, u5b8bu4f53; line-height: 24.5px; background-color: rgb(204, 206, 208);">宽度 =  content </span>
<span style="font-family: "Hiragino Sans GB W3", "Hiragino Sans GB", Arial, Helvetica, simsun, u5b8bu4f53; line-height: 24.5px; background-color: rgb(204, 206, 208);"><span style="color: rgb(255, 0, 0); line-height: 24.5px;"><span style="white-space:pre">	</span>在怪癖模式中 :给元素设置的<span style="line-height: 24.5px;">宽度</span><span style="background-color: rgb(241, 254, 221); color: rgb(51, 51, 51); font-family: arial, "courier new", courier, 宋体, monospace;"> = content+padding+border</span>
</span><span style="color: rgb(255, 0, 0);">
</span></span>
<span style="font-family: "Hiragino Sans GB W3", "Hiragino Sans GB", Arial, Helvetica, simsun, u5b8bu4f53; line-height: 24.5px; background-color: rgb(204, 206, 208);"><span style="color: rgb(255, 0, 0); line-height: 24.5px;"></span></span><p style="font-family: Arial; line-height: 26px;"><span style="white-space:pre">	</span>2)可以设置行内元素的高宽</p><p style="font-family: Arial; line-height: 26px;">    在Standards模式下,给span等行内元素设置wdith和height都不会生效,而在quirks模式下,则会生效。</p><p style="font-family: Arial; line-height: 26px;"><span style="white-space:pre">	</span>3)可设置百分比的高度</p><p style="font-family: Arial; line-height: 26px;">    在standards模式下,一个元素的高度是由其包含的内容来决定的,如果父元素没有设置高度,子元素设置一个百分比的高度是无效的。</p><p style="font-family: Arial; line-height: 26px;"><span style="white-space:pre">	</span>4)用margin:0 auto设置水平居中在IE下会失效</p><p style="font-family: Arial; line-height: 26px;">    使用margin:0 auto在standards模式下可以使元素水平居中,但在quirks模式下却会失效,quirk模式下的解决办法,用text-align属性:</p><p style="font-family: Arial; line-height: 26px;">   body{text-align:center};#content{text-align:left}</p><p style="font-family: Arial; line-height: 26px;"><span style="white-space:pre">	</span>5)quirk模式下设置图片的padding会失效</p><p style="font-family: Arial; line-height: 26px;"><span style="white-space:pre">	</span>6)quirk模式下Table中的字体属性不能继承上层的设置</p><p style="font-family: Arial; line-height: 26px;"><span style="white-space:pre">	</span>7)quirk模式下white-space:pre会失效</p><div>
</div>
				
时间: 2024-09-21 12:47:38

浏览器怪异模式和标准模式之间的区别 DTD的相关文章

windows Powershell 快速编辑模式和标准模式_PowerShell

powershell控制台有两种模式,一个是快速编辑模式,一个是标准模式. 快速编辑模式和标准模式的切换可以通过控制台标题栏->鼠标右击->属性->选项->编辑选项 . Powershell标准模式 鼠标右击选择标记后才能实现复制和粘切功能. Powershell快速编辑模式 可以通过鼠标右键选择任意矩形区域内的文本,并且鼠标右击实现复制功能.

标准通信模式-MP标准模式模式与阻塞

问题描述 MP标准模式模式与阻塞 如下代码 start = MPI_Wtime(); if (myid == 0){ MPI_Send(a, 1000, MPI_DOUBLE, 1, 4, MPI_COMM_WORLD); } else{ MPI_Recv(b, 1000, MPI_DOUBLE, 0, 4, MPI_COMM_WORLD, &status); } end = MPI_Wtime(); 测试发送时间小于接收时间.把这一代码复制多次,发现第一次通信时间开销大于后几次的通信时间开销.

JS魔法堂:浏览器模式和文档模式怎么玩?

一.前言   从IE8开始引入了文档兼容模式的概念,作为开发人员的我们可以在开发人员工具中通过"浏览器模式"和"文档模式"(IE11开始改为"浏览器模式"改成 更贴切的"用户代理字符串")品味一番,它的出现极大地方便了苦逼的前端攻城狮们适配各版本的IE,但jser们也不能完全信任它,因为它只是提供尽可能 的文档模式模拟而已.   本篇大部分内容来源于官方解说:http://msdn.microsoft.com/library/

javascript-WEB标准模式和混杂模式js代码兼容问题?

问题描述 WEB标准模式和混杂模式js代码兼容问题? 今天看视频教学,在js代码中考虑了混杂模式和标准模式的代码兼容问题,例子代码如下: var scrollTop=document.body.scrollTop||document.documentElement.scrollTop; 然后百度了一下,看到按照什么模式解析,是在html文件开头的中定义的,如果在html文档开头,可以用来确定按照混杂模式还是标准模式来解析,为什么在js代码中,还要考虑不同模式的的兼容问题? 解决方案 常见的浏览器

兼容性-各大浏览器在 标准模式 下会有差异吗?

问题描述 各大浏览器在 标准模式 下会有差异吗? 我知道浏览器分为标准模式和怪异模式, 怪异模式就是按照浏览器自己的模式进行渲染和解析代码 标准模式就是按照W3C标准进行解析和渲染. 那么!我想问,同样声明了一样的doctype(以HTML5为例)的情况下 各大浏览器会有什么差异吗? 因为在学习兼容性的东西,这个东西不是很理解,就是很多文章一直在说的浏览器兼容性问题是怎么发生的,以为就像上面说的标准模式下是按照W3C标准进行渲染,也就是统一的标准,那么为什么统一的标准下还会出现浏览器兼容性问题,

IE8浏览器如何确定文档模式

 本文将讨论IE8浏览器如何确定用以渲染网站的文档模式,如怪异模式(又称IE5模式)和标准模式(更多资料,英文:http://en.wikipedia.org/wiki/Quirks_mode).该内容对于开发人员和客户来说,是很重要的. 与此相关的,是我们最近更新的兼容性视图列表.此列表内容自从去年3月IE8正式版发布以来,已经减少了1000多个网站.从最初的3100多,减少到了现在的2000多一点.在与网站开发人员及标准制定人员的共同努力下,我们很高兴地看到需要出现在兼容性视图(CV)列表中

QQ浏览器极速和兼容双核模式

双核模式是指极速模式和兼容模式 极速模式使用webkit内核浏览,会给您带来更快的上网速度.兼容模式使用IE内核浏览,可以兼容绝大部分网页. QQ浏览器一般情况下不需要您的干预就能够正常进行浏览.但有时您会发现某些网站页面错乱.无法播放视频或功能不能正常使用,这是因为网站编写不标准,不兼容极速模式造成的.您可以点击地址栏右侧的内核图标,切换到兼容模式,我们会记住您的选择.

再谈IE的浏览器模式和文档模式

原文:再谈IE的浏览器模式和文档模式以前在 "IE8兼容视图(IE7 mode)与独立IE7的区别"一文中曾经涉及过浏览器模式和文档模式,但二者的区别却不甚了了,现在有了新的认识,再补充一下. 1.浏览器模式与文档模式概念 在较新的IE浏览器中(如IE8, IE9, IE10),为了解决兼容性的问题,引入了浏览器模式和文档模式两个概念,浏览网页时可以通过按F12键看到这两种模式.   浏览器模式的主要作用是为兼容较早版本的IE,它会控制浏览器发出的UserAgent,表示以哪个版本的浏

探讨智慧城市建设是否应该有统一模式和标准

智慧城市与信息技术发展同步,信息技术是社会管理系统的支撑技术.智慧城市必须以城市基础设施的信息化为依托,与新一代信息技术同步发展. 智慧城市建设要服务于我国的社会.经济改革.智慧城市是城市发展的创新引擎,是服务和支持城市发展的工具和手段.社会发展.深化改革是智慧城市最大的需求来源.因此.规划智慧城市离不开这个大背景,智慧城市的目标必须与改革的目标相协调(一致);城市基础设施的信息化必须由政府主导.不能单纯从技术上模仿发达国家的模式或经验. 智慧城市与信息技术发展同步,信息技术是社会管理系统的支撑