浏览器的主要组成部分是用户界面、浏览器引擎(负责窗口管理、tab进程管理等)、渲染引擎(也叫内核,负责HTML解析和页面渲染)、JS引擎(JS解释器,比如Chrome和Nodejs使用的V8)一、渲染机制(一)什么是DOCTYPE及其作用DTD(TextTypeDefinition)是一系列用来定义XML和HTML文件类型的语法规则。浏览器将使用它来确定文档类型,决定使用哪种协议进行解析,以及切换浏览器模式。DOCTYPE用于声明文档类型和DTD规范,其主要用途之一是验证文档的合法性。如果文件编码不合法,浏览器解析时会出现一些错误。通俗地说,DOCTYPE就是告诉浏览器DTD是什么,告诉浏览器文档类型。(2)浏览器的渲染过程(3)重排ReflowDOM结构中的每个元素都有自己的盒子,这就需要浏览器根据各种样式进行计算,并根据计算结果将元素放置在该元素应该出现的位置。这个过程称为回流。触发Reflow:当你添加、删除或修改DOM节点时,会导致Reflow或Replain。当你移动DOM的位置时,或者当你制作动画时,当你修改CSS样式时,当你修改窗口时,当你调整窗口大小时,或者当你滚动时(4)RepaintRepaint各种框的大小、位置等属性时,比如颜色,字体大小等,确定了,浏览器就把这些元素都按照各自的特性来绘制,这样页面就出现了。这个过程称为重绘。触发Repaint:DOM变化,CSS变化Repaint是不可避免的,但可以尽量减少Repaint(五)Layout布局
