一、dom树
1、解析
浏览器分析html结构,生成dom节点,构建dom树
即使样式display : none的节点也会挂载到dom上。
2、加载
当前节点解析完成,资源开始加载。两个过程是异步的。所以会出现网站打开后,结构渲染好了,但是图片后面才加载出来。
二、css树
由js引擎形成的样式结构,会把无效的和浏览器不识别的样式去掉。
三、render树
Dom树和css树结合构建了render树。render树形成后浏览器开始渲染页面。
Render树上,每个dom节点都有自己的样式
(1)结合dom树和css树,构建render树时,已经过滤了display:none的节点。
(2)不需要渲染的dom节点也会过滤,比如script,head等
(3)影响布局的元素会包含在render树中,比如visibility∶none的元素
回流和重绘
回流可能会引起重绘
回流∶dom尺寸,布局,display设置为none的时候,这些影响布局的情况会引起回流。