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