首先会生成DOM树和CSS树,接着DOM树和CSS树会结合,形成render Tree。
render tree就是遍历dom树,对于每个DOM节点,找到对应的CSS规则进行匹配,附加上去
比如:
<body>
<div>
<span></span>
</div>
</body>
对于匹配span,首先找到所有的span,然后看父节点是否是div,然后看父节点是不是body,如果是的话,attach到render Tree上
渲染树布局
渲染布局是从根节点开始的,确定每个节点对象在页面上的大小和位置,布局阶段输出的是一个盒子模型,精准的捕获每个元素在屏幕内的位置和大小
渲染树渲染
在绘制阶段,遍历渲染树,调用渲染器的paint()方法在屏幕上显示其内容。渲染树的绘制工作由浏览器的UI后端组件完成。