重绘和回流

172 阅读1分钟

重绘不一定引起回流,回流一定会引起重绘

1.浏览器是怎么进行界面渲染的

  • 解析PARSER htmL,生成DOM树

  • 同时解析css生成样式规则

  • 根据DOM树和样式规则生成渲染树

  • 进行布局(回流/重排):根据生成的渲染树,得到节点的几何信息(位置大小)

  • 进行绘制painting(重绘):根据计算和获取的信息进行整个页面的绘制

  • Display:展示在页面上

2.重绘和回流

  • 回流(重排) 当RENDER tree中部分或者全部元素的尺寸,结构,布局等发发生改变的时候,浏览器就会重新旋绕部分或全部文档的过程称为回流

会导致回流的操作

1.页面的首次刷新

2.浏览器的窗口大小或位置发生变化

3.元素的大小或位置发生改变

4.改变字体的大小

5.内容的变化

6.激活css伪类

7.脚本操作DOM

(简单理解:影响到布局了就会有回流)

  • 重绘 由于节点的样式改变不影响文档流的位置和文档布局