面试官:我们现在写HTML代码第一行通常是 !<DOCTYPE HTML>,请介绍一下DOCTYPE的作用(基础题)
DOCTYPE标签是一种标准通用标记语言的文档类型声明,且必须声明在文档的第一行,来告知浏览器用何种文档标准来解析这个网页,不同的渲染模式会影响浏览器对CSS和JavaScript的解析标准。
面试官:浏览器解析文档有哪几种解析模式呢?(拓展题)
文档的解析模式目前主要有 *两种(注意:还有一种“准标准模式”只在IE8浏览器里,目前主流浏览器已无需考虑):
- 怪异模式(quirks mode):此种模式会模拟更旧的浏览器的行为。如果没有声明DOCTYPE,浏览器默认会以这种模式解析文档。
- 标准模式(standards mode):浏览器使用W3C的标准解析渲染页面。
面试官:如何快速检查页面的解析模式?(发散题)
HTML文档对象有个 compatMode 属性,用于记录页面的解析模式:
- 如果文档处于“混杂模式”,则该属性值为 BackCompat
- 如果文档处于“标准模式”或者“准标准模式(almost standards mode)”,则该属性为 CSS1Compat
const mode = document.compatMode; // 页面的解析模式 if (mode === "BackCompat") { // 渲染模式为混杂模式 }
如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h59595.shtml