浅谈!DOCTYPE声明的作用?严格模式与混杂模式的区别?
- !DOCTYPE的作用:
DOCTYPE是Document Type(文档类型)的缩写,<!DOCTYPE>声明必须是html文档的第一行,位于<html>标签之前。<!DOCTYPE>生命不是html标签,它声明文档的解析类型,告知浏览器应该以什么样的规范来解析该文档。
- 严格模式与混杂模式:
- 严格模式又称标准模式,严格按照W3C标准解析代码,使浏览器根据规范呈现页面,排版和js运作模式以浏览器最高规范来运行。
- 混杂模式又称怪异模式,是指浏览器用自己的方式解析代码,是一种比较宽松的向后兼容的模式,通常模拟老式浏览器的行为,以防止老式站点无法工作。各个浏览器解析代码的方式各不相同。
- 如何区分?
根据doctype声明是否存在或者dtd的类型来确定究竟是哪种模式。若没有doctype声明默认以混杂模式来解析文档。
混杂模式服务于旧式规则,严格模式服务于标准规则。