一、设置方式:
通过html标签前的<!doctype>进行设置。
<!doctype>让浏览器解析器知道应该用哪个规范来解析文档。
如果在文档开始处没有发现文档类型声明(即<!doctype>),则所有浏览器都会默认开启混杂模式。
二、浏览器模式包括:
混杂模式,近似标准模式,标准模式
三、各个模式的特点:
1.混杂模式是不可取的,因为其没有兼容性可言。
2.近似标准模式是在尽可能遵循标准的基础上兼容部分非标准代码,比如一些已经弃用的标签等。
3.标准模式则是对统一标准实现最好的模式,它要求标签必须闭合(唯一不需要闭合的就是DOCTYPE标签),不能使用已经废弃的标签等等。
四、关于名称
标准模式 === 严格模式:指浏览器按照 W3C 标准解析代码。
混杂模式 === 怪异模式:指浏览器用自己的方式解析代码。
五、注意
1.<!doctype>设置不同模式,主要影响CSS内容的呈现,但在某些情况下也会影响到JavaScript的解释执行。
2.html5没有严格和混杂之分,只有一种声明方式<!DOCTYPE html>,浏览器以严格模式规则解析。
3.这里的讨论的模式,指的是浏览器解析html的规则,注意与js解析的严格模式、非严格模式加以区分。
4.扩展:js、es6均使用'use strict'指定使用严格模式。
react —— 类和模块内部默认使用严格模式,所以不需要用‘use strict’指定运行模式。
5.无论html还是js,解析模式的指定都是为了让浏览器知道用什么规则去解析代码