从渲染机制分为:解析、加载
解析
domTree -> DOM树构建(深度优先解析)-> 元素节点的解析 -> 把HTML解构变成一个树形结构。
样式和DOM树的解析没有关系,apeendChild依然会解析到DOM树上。
cssTree CSS树(样式结构体)(深度优先解析)
1. 构建css树时,不会在机制上结合html,它只会去查看html结构当中样式和元素的对应关系,然后通过兄弟、父子构建cssTree
2. 浏览器引擎不会直接把css和html结合在一起,它只会去查看样式关系形成css树
3. 构建cssTree时会自动忽略浏览器不能识别的样式,例如书写的css兼容性
加载
解析的过程伴随着加载的开始,解析和加载异步完成
加载在当前节点解析完成之后 -> 解析完毕并不说明页面加载完毕
渲染树 renderTree
domTree构建完毕,cssTree构建完毕,domTree + cssTree 结合形成了renderTree,renderTree以后再开始渲染页面
在形成渲染树的时候,有display:none的对应节点已经被剔除出去了,所以页面上看不到display:none的元素空间,还有head之类不