问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

dtd有哪几种模式

发布网友 发布时间:2022-05-11 16:21

我来回答

2个回答

懂视网 时间:2022-05-13 09:26

摘要

  我们在制作页面时必须要测的就是IE浏览器,毕竟IE浏览器市场占有率还是很高。随着HTML5的流行,可能项目要求兼容IE最低版本为IE8或者更高,但是还是有很多项目兼容IE低版本。所以我们经常会碰到页面在ie浏览器低版本中排版错乱的问题,这是因为IE浏览器有两个模式影响着页面,现在就来研究下

文档验证机制(DTD)

  DTD是html文件的验证机制,属于html文件组成的一部分。三种文档类型:S(Strict)、T(Transitional)、F(Frameset)。

  • Strict
    干净的标记,免于表现层的混乱。
  • Transitional
    DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 HTML 的呈现特性时使用
  • Frameset
    DTD 应当被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于 Transitional DTD
  • HTML5简化了DTD,可以直接使用 。

    模式

      模式主要是针对ie浏览器,在ie7以下,微软的代码规范与W3C制定的标准有所差别,但是ie市场占有率非常大,所以开发人员会按照微软的规范来编写代码,随着各大浏览器厂商的发展和W3C组织的努力,浏览器的标准化越来越明显。微软为了兼容ie6/7,在ie8浏览器增加了模式这个功能,这样就可以解决代码标准不一致而引起的问题。

    模式分为两种一种是浏览器模式,一种是文档模式。这两种模式有什么区别呢?

  • 浏览器模式
    用于切换IE针对该网页的默认文档模式、对不同版本浏览器的条件备注解析、发送给网站服务器的用户代理(User-Agent)字符串的值。网站可以根据浏览器返回的不同用户代理字符串判断浏览器的版本和安装的功能,这样就可以向不同的浏览器返回不同的页面内容。默认情况下,IE8的浏览器模式为IE8。用户可以手动切换到不同的浏览器模式。
  • 文档模式
    用于指定IE的页面排版引擎(Trident)以哪个版本的方式来解析并渲染网页代码。切换文档模式会导致网页被刷新,但不会更改用户代理字符串中的版本号,也不会从服务器重新下载网页。切换浏览器模式的同时,浏览器也会自动切换到相应的文档模式。
  • 对于文档模式,每个浏览器都有不同的工作模式

    IE6 IE7 ?IE8 ?IE9 IE10 Chrome Firefox Safari Opera
    混杂模式(Quriks Mode)
    接近标准模式(Almost Standards Mode)
    标准模式(Standards Mode)

    我们如何控制浏览器以何种文档模式来显示页面呢?

    通过上面的代码用来指定IE浏览器以标准文档模式渲染页面,我们可以修改edge来指定特定版本,例如:IE=8

    问什么要控制这个呢?很明显,加上这个元素能够告诉浏览器用什么模式来渲染页面,有时候我们在IE高版本的浏览器中显示正常,到了低版本排版就乱了,加上下面的和正确的DTD声明就可以了。

    < meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" />

    判断当前页面的文档模式

     1  2  3  4  5  6  7  8 

    S(标准模式)、A(接近标准模式)、Q(混杂模式)






    Doctype NS6 Old Moz Moz & Safari & Opera 10 & IE10 & HTML5 Opera 9.0 IE 8, IE 9 & Opera 9.5 IE 7 & Opera 7.10 IE 6 & Opera 7.0 Mac IE 5 Konq 3.2
    None Q Q Q Q Q Q Q Q Q
    Q S S S S A A A
    ? ? ? ? ? ? ? ?
    Q Q Q Q Q Q Q Q Q
    S S S S S A A A A
    S S S S S A A Q A
    S S S S S A A A A
    S S S S S A A A A
    Q Q Q Q Q Q Q Q Q
    Q Q Q Q Q Q Q Q Q
    S S A A A A A A Q
    Q S A A A A A A Q
    Q Q Q Q A A A A Q
    S S S S S A A A A
    S S S S S A A A A
    S S S S S A A A A
    S S A A A A A A Q

    S S S S S A Q A Q

    S S S S S A Q A Q

    S S S S S A Q A Q

    S S A A A A Q A Q
    Q S S Q Q Q Q Q Q
    Q S S S S A A A Q
    S S S Q Q Q Q Q Q
    S S S S S A A A Q

    PS:

      Opera文档模式:http://www.opera.com/docs/specs/doctype/

      Firefox文档模式:https://developer.mozilla.org/en-US/docs/Mozilla%27s_DOCTYPE_sniffing

      IE8:http://blogs.msdn.com/b/ie/archive/2010/03/02/how-ie8-determines-document-mode.aspx

    热心网友 时间:2022-05-13 06:34

    a: 两种形式 dtd schema,b: 本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的),c:有DOM,SAX,STAX等
    DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问
    SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问
    STAX:Streaming API for XML (StAX)
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    绿茶要猛冲吗,绿茶鲜嫩不需要(绿茶冲泡的正确方式) 绿茶为什么越好越不耐泡 绿茶要泡几泡?哪种绿茶最耐泡? 哪种绿茶最耐泡 职场故事:美女职员遇到暴躁老板 老板脾气坏得要命,我该怎么办 老板老爱发脾气,我们应该怎么做呀? 害怕老总发脾气怎么办 网络上用名字测和另一个人的关系准确吗 一个男生把自己的名字和另一个人的名字放在一起,中间放个"&amp;"符号... 化学中dtd是什么 快递中有一种服务叫DTD服务,到底什么叫DTD服务呢? DTD与Schema的区别是什么? php中的DTD是什么? DTD和XSD有什么区别? DTD是什么意思? 什么是DTD “为人师道而不为人师表”的意思是什么? “为人师表”这个成语什么意思?? “为人师表”是什么意思啊!~~ 为人师表怎么理解 厦门同安区西池650公交车路线 求!成都火车东站到新都的公交车路线 三水650公交车路线各站点 从西南石油大学到成都石羊客运中心的公交车几点出发 轻纺城到集士港东公交车坐几路车 新都三河场到菏花池几路公交车最 西南石油大学到成都北部客运站座几路公交车 君臣跟广欣插座一个厂家吗 从沙井街道办到沙井劳动社保所怎么坐公交车,最快需要 请问外贸单证中的DTD是指开证日期还是指有效期啊? dtd元素分为哪两类有何区别 java 中DTD是什么 有什么作用 啊说有什么作用 struts2里面 dtd是干什么的? 云南丽江古城酒吧一条街好玩吗? 云南省丽江古城好玩吗 都说云南丽江很好,真的有这么好吗?请大家给点意见及推荐。 中国那里适合去度蜜月? 去丽江旅行? 漓江和丽江的旅游 请问四川攀枝花好还是云南丽江好?我将选择这两个地方之一去上班,谢谢知情人回答,万分感激! 丽江的酒吧哪家比较好? 云南的西双版纳,丽江,大理,哪个地方美点?哪个地方好玩一些阿? 丽江酒吧消费怎么样?人均大概是多少钱 八月份去丽江旅游,求详细的行程安排!!! 云南丽江自行旅游攻略 如何看待物理这门科目,物理对生活及工作有什么作用 你怎么看待物理学科 怎么理解物理? 为什么我物理怎么都看不懂?