浏览器回流与重绘
1. 浏览器的渲染过程
从上面这个图上,我们可以看到,浏览器渲染过程如下:
解析HTML,生成DOM树,解析CSS,生成CSSOM树将DOM树和CSSOM树结合,生成渲染树(Render Tree)Layout(回流):根据生成的渲染树,进行回流(Layout),得到节点的几何信息(位置,大小)Painting(重绘):根据渲染树以及回流得到的几何信息,得到节点的绝对像素Display:将像素发送给GPU,展示在页面上。
1.1 生成渲染树
为了构建渲染树,浏览器主要完成了以下工作:
从DOM树的根节点开始遍历每个可见节点。对于每个可见的节点,找到CSSOM树中对应的规则,并应用它们。根据每个可见节点以及其对应的样式,组合生成渲染树。
不可见的节点包括:
一些不会渲染输出的节点,比如script、meta、link等。一些通过css进行隐藏的节点。比如display:none。
注意:
浏览器回流与重绘最先出现在Python成神之路。
共有 0 条评论