五、文档声明的作用? 严格模式和混杂模式指什么? <!doctype html> 的作用?
5.1 文档声明的作用
<!DOCTYPE> 声明处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。在制作网页时都需要定义文档的类型,即doctype。如果不声明网页的文档类型,浏览器在解析的时候会以奇怪的模式解析网页代码,不同的浏览器下,怪异模式解析的网页效果差别很大,会造成网页布局排版的错位,因此在写html代码前有必要写明文档类型。
5.2 严格模式和混杂模式指什么?
Doctype可声明三种DTD类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。
当浏览器厂商开始创建与标准兼容的浏览器时,他们希望确保向后兼容性。
为了实现这一点,他们创建了两种呈现模式:严格模式和混杂模式
在严格模式中,浏览器以其支持的最高标准呈现页面。
在混杂模式中,页面以一种比较宽松的向后兼容的方式显示。混杂模式通常模拟老式浏览器的行为以防止老站点无法工作。
5.3 <!doctype html> 的作用
<!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前。
<!DOCTYPE> 声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。
在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。
HTML5 不基于 SGML,所以不需要引用 DTD。
我们在进行前端开发工作的时候,应该始终向 HTML 文档添加 <!DOCTYPE> 声明,这样浏览器才能获知文档类型。