欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Doctype的作用?严格模式与混合模式,如何触发者这两种模式,区分它们有何意义?

程序员文章站 2022-05-25 19:43:39
Doctype作用?严格模式与混合模式,如何触发者这两种模式,区分它们有何意义? 1.1 Doctype作用 声明叫做文件类型定义(DTD),声明的作用为了告诉浏览器该文件的类型。让浏览器解析器知道应该用哪个规范来解析文档。声明必须在 HTML 文档的第一行, ......

doctype作用?严格模式与混合模式,如何触发者这两种模式,区分它们有何意义?

1.1 doctype作用

<!doctype>声明叫做文件类型定义(dtd),声明的作用为了告诉浏览器该文件的类型。让浏览器解析器知道应该用哪个规范来解析文档。<!doctype>声明必须在 html 文档的第一行,这并不是一个 html 标签。

1.2 严格模式

又称标准模式,是指浏览器按照 w3c 标准解析代码。

1.3 混合模式

又称怪异模式或兼容模式,是指浏览器用自己的方式解析代码。

 

如何区分:浏览器解析时到底使用严格模式还是混杂模式,与网页中的 dtd 直接相关。

1、如果文档包含严格的 doctype ,那么它一般以严格模式呈现。(严格 dtd ——严格模式)

2、包含过渡 dtd 和 uri 的 doctype ,也以严格模式呈现,但有过渡 dtd 而没有 uri (统一资源标识符,就是声明最后的地址)会导致页面以混杂模式呈现。(有 uri 的过渡 dtd ——严格模式;没有 uri 的过渡 dtd ——混杂模式)

3、doctype 不存在或形式不正确会导致文档以混杂模式呈现。(dtd不存在或者格式不正确——混杂模式)

4、html5 没有 dtd ,因此也就没有严格模式与混杂模式的区别,html5 有相对宽松的语法,实现时,已经尽可能大的实现了向后兼容。( html5 没有严格和混杂之分)

 

意义:严格模式与混杂模式存在的意义与其来源密切相关,如果说只存在严格模式,那么许多旧网站必然受到影响,如果只存在混杂模式,那么会回到当时浏览器大战时的混乱,每个浏览器都有自己的解析模式。