首页 > 试题广场 >

Doctype作用? 严格模式与混杂模式如何区分?它们有何意

[问答题]
Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?

doctype作用:告知浏览器的解析器以什么样的文档规范解析 严格标准 过渡标准和基于框架表示的网页标准

严格模式:排版和Js运作标准以该浏览器支持的最高标准运行

混杂模式:页面以向后兼容的方式显示,就是支持低版本浏览器的渲染功能

意义:doctype不存在或文档不正确会导致网页以混杂模式运行

编辑于 2020-04-03 10:44:29 回复(0)
1.<!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前。

<!DOCTYPE> 声明不是 HTML 标签;它的作用是告知浏览器的解析器用什么文档类型规范来解析这个文档。

在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。

HTML5 不基于 SGML,所以不需要引用 DTD。
(为了获取正确的Doctype声明,关键就是让dtd与文档所遵循的标准对应。例如假定文档遵循的是xhtml 1.0 strict,那么文档的Doctype声明就应该是相应的dtd)
提示:请始终向 HTML 文档添加 <!DOCTYPE> 声明,这样浏览器才能获知文档类型
2.严格模式是浏览器根据web标准去解析页面,是一种要求严格的DTD,不允许使用任何表现层的语法;在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作。

如何触发文档模式:

  • 触发混杂模式:
    如果在文档开始处没有发现文档类型声明,则所有浏览器都会默认开启混杂模式。但采用混杂模式不是什么值得推荐的做法,因为不同浏览器在这种模式下的行为差异非常大,如果不使用某些hack技术,跨浏览器的行为根本就没有一致性可言。
  • 触发标准模式:
该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
  • <!-- HTML 4.01 严格型 -->
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"  "http://www.w3.org/TR/html4/strict.dtd"> 
    
    <!-- XHTML 1.0 严格型 -->
    <!DOCTYPE html PUBLIC  "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  • 触发准标准模式:
Transitional:该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
Frameset:该 DTD 等同于 HTML 4.01 Transitional,但允许框架集内容。
  • <!-- HTML 4.01 过渡型 -->
    <!DOCTYPE HTML PUBLIC  "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/html4/loose.dtd"> 
    
    <!-- HTML 4.01 框架集型 -->
    <!DOCTYPE HTML PUBLIC  "-//W3C//DTD HTML 4.01 Frameset//EN"  "http://www.w3.org/TR/html4/frameset.dtd"> 
    
    <!-- XHTML 1.0 过渡型 -->
    <!DOCTYPE html PUBLIC  "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    
    <!-- XHTML 1.0 框架集型 -->
    <!DOCTYPE html PUBLIC  "-//W3C//DTD XHTML 1.0 Frameset//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
  • IE8中关闭超级标准模式:
    <meta http-equiv="X-UA-Compatible" content="IE=7" />
    //content属性中IE的值用于指定使用哪个版本的呈现引擎来呈现页面。设计这个值的目的就是为了向后兼容那些专门为老版本的IE设计的站点和页面。
3.意义:为了让html5之前版本的文档能和DTD声明的标准对应,从而正确的解析;也为了兼容向后兼容,防止一些站点无法工作。
编辑于 2020-03-01 18:12:29 回复(1)
A:(1)Doctype声明位于文档的最前面,告知浏览器的解析器用什么文档类型的规范来解析文档。该标签可声明三种文档类型定义,即标准模式/怪异模式/近标准模式或严格模式/过渡模式/框架模式。
             1)分类一:标准模式(浏览器按W3C标准解析执行代码)/怪异模式(兼容老页面,使用浏览器自己的方法解析执行代码)/近标准模式(除了针对除空白文本外无其他内容的块级元素的高度上有所不同外,与标准模式保持一致)
             2)分类二:严格模式(不允许使用任何表现层的标识和属性)/过渡模式(允许在页面中使用html4.01的标识)/框架模式(页面中含框架元素时采用的模式)
       (2)严格模式与混杂模式的区别
              1)严格模式的排版和JS运作模式是以浏览器支持的最高标准运行
              2)混杂模式的页面模拟老浏览器的行为以防站点无法工作,未声明Doctype或其格式不正确时会导致文档以该模式呈现
        (3)意义??
发表于 2017-09-05 21:15:58 回复(0)
编辑于 2017-03-26 12:02:46 回复(0)

Doctype的主要作用是告诉浏览器该用什么文档类型来解析该文档,如果不写doctype或格式不正确会以混杂模式呈现

编辑于 2019-03-31 22:04:22 回复(0)
doctype:告诉浏览器应该用什么文档类型规范来解析这个文档 。 doctype不存在或格式不正确会导致文档以混杂模式呈现 。严格模式的排版和js运作模式是以浏览器最高标准运行。混杂模式, 页面以宽松的向后兼容的形式展示
编辑于 2017-09-23 09:21:50 回复(0)

 doctype声明指出阅读程序应该用什么规则集来解释文档中的标记。在Web文档的情况下,“阅读程序”通常是浏览器或者校验器这样的一个程序,“规则”则是W3C所发布的一个文档类型定义(DTD)中包含的规则。

  •  声明位于文档中的最前面的位置,处于标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。该标签可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的HTML 文档。 
  • 所谓的标准模式是指,浏览器按 W3C 标准解析执行代码;怪异模式则是使用浏览器自己的方式解析执行代码,因为不同浏览器解析执行的方式不一样,所以我们称之为怪异模式。 严格模式是浏览器根据web标准去解析页面,是一种要求严格的DTD,不允许使用任何表现层的语法,如

。严格模式的排版和JS 运作模式是以该浏览器支持的最高标准运行混杂模式则是一种向后兼容的解析方法,说的透明点就是可以实现IE5.5以下版本浏览器的渲染模式。 

  • 浏览器解析时到底使用标准模式还是怪异模式,与你网页中的 DTD 声明直接相关, DTD 声明定义了标准文档的类型(标准模式解析)文档类型,会使浏览器使用相应的方式加载网页并显示,忽略 DTD 声明 ,将使网页进入怪异模式。

发表于 2017-03-08 13:36:30 回复(0)
<p>doctype位于html的最前面,是一种声明,告知浏览器解析器该以何种标准去解析文档类型。</p><p>标准模式就是让人浏览器以自身最高标准解析文档。</p><p>混杂模式,就是当没有写doctype或者doctype拼写错误时,浏览器会以一种向后兼容的模式运行防止站点无法工作。由于各个浏览器差异巨大,所以混杂模式并不统一。</p>
发表于 2022-02-19 08:55:07 回复(0)
严格模式:排版和js的运作方式以最高标准运行 混杂模式: 浏览器向后兼容的方式展示,以防止一些站点无法显示
发表于 2021-10-29 16:18:00 回复(0)
h5中怎么通过doctype定义混杂模式和标准模式呢
发表于 2021-07-01 08:43:50 回复(0)
doctype用于向浏览器的解析器声明该用什么类型去解析这个文档,一般放在文档最前面。doctype有严格模式和混杂模式。混杂模式下浏览器将用当前能支持的最低标准去解析文档,doctype不写或者写了无效的声明则会自动进入混杂模式。严格模式下,浏览器将根据声明的文档类型,如html5,html4等来解析文档,包括文档的html排班和js的运行规则。
发表于 2021-05-11 12:37:57 回复(0)
DOCTYPE是DTD,文档类型定义的声明词,用于区分标准模型与混杂模型,IE6引入了标准模型,浏览器使用标准模型解析文档,如果html文件开头没有doctype html,浏览器则兼容之前的布局方式,即混杂模式标准下,盒子模型box-sizing:content-box,padding 和border会撑开高宽混杂下,border-box,宽高度固定混杂标准下,行内元素的高宽度可设定也是一个区别
发表于 2021-03-10 20:41:13 回复(0)
<p>doctype的作用是告诉浏览器应该用什么类型去解析网页!</p>
发表于 2020-12-15 16:36:51 回复(0)
<p>声明在最前面告诉浏览器 以什么格式解析网页,严格模型要求网页和Js以最高版本来解析</p><p>混合模型要求网页向后兼容,遇到低版本时。模拟低版本行为执行</p><p>如果没有声明doctype则用混合模型</p>
发表于 2020-10-25 07:10:11 回复(0)

<p>doctype 标签作用是告诉浏览器解析器解析文档的类型。</p><p>严格模式的排版以及Js运行模式会按照浏览器支持的最高标准来运行的</p>

混杂模式的页面会以宽松的向后兼容的模式显示,模拟老式浏览器的行为以及防止站点停止工作。

编辑于 2020-10-15 16:54:08 回复(0)

<p>声明位于文档最前面,告知浏览器以什么格式解析文档</p><p>严格模式指的是文档和js以浏览器最高标准运行,</p><p><br></p>混杂模式指浏览器以宽松的向后兼容模式,doctype不声明或错误会导致混淆模式

编辑于 2020-08-29 10:14:05 回复(0)
作用:声明位于文档的最前面,告知浏览器的解析器,用什么样的文档类型规范解析文档
区分:严格模式的排版和js运作模式是以浏览器支持的最高标准执行,混杂模式的页面是模拟老浏览器的行为防止站点无法工作
意义:doctype不存在或者文档不正确会导致网页以混杂模式运行
发表于 2020-07-21 11:39:14 回复(0)
<p>Doctype 申明这个网页是有Html5来编写的</p><p><br></p>
发表于 2020-07-08 20:42:30 回复(0)
DOCTYPE 作用:高速浏览器使用哪种HTML版本来显示网页。
发表于 2020-07-07 09:18:50 回复(0)
<p>1.其位于文档的最前面,并且也会在标签的前面,用来告知浏览器的解析器用什么文档类型规范来解析这个文档</p><p>2.严格模式的排版和JS的运行模式会以浏览器支持的最高标准运行</p><p>3.混杂模式中页面以宽松的向后兼容进行显示,以防止在老旧的电脑或者浏览器不能正常显示站点</p><p>4.doctype不存在或者格式不对会导致站点的页面不能正常的现实</p><p><br></p>
发表于 2020-05-10 13:28:21 回复(0)