zxdfe / FE-Interview

Every step counts
34 stars 1 forks source link

第22题:了解回流和重绘吗? #22

Open zxdfe opened 2 years ago

rupoly commented 2 years ago

修改了一个dom元素,浏览器就会重新渲染,全局重新渲染为回流,局部渲染为重绘(比如改变颜色),回流必定触发重绘,重绘不一定触发回流。

way7777777 commented 2 years ago

回流:当渲染树(Render Tree)的部分或全部元素的尺寸、结构、布局等发生改变时,浏览器就会重新渲染部分或全部文档,这个过程称为回流。

重绘:节点(元素)的样式的改变(如:color、background-color、outline等), 并不影响它在文档流中的位置和布局,浏览器根据计算和获取的信息进行页面的重新渲染,称为重绘。

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

z-forever-y commented 2 years ago
回流:当我们渲染树(render tree)中的元素的宽高、布局、显示、隐藏或内部文字结构发生改变的时候,
会导致元素内部周围甚至整个页面都重新渲染,这个过程称为回流,每一页面都至少有一次回流
重绘:元素的外观样式发生改变,比如背景颜色、内部文字颜色、边框颜色等,此时就会引起浏览器的重绘
回流一定会引起重绘,重绘不一定会引起回流。
Sophora77 commented 1 year ago
  1. 当我们渲染树中的一些元素的结构或者尺寸等发生改变,浏览器重新渲染 部分或者全部文档的过程就叫做回流
  2. 当页面中元素样式的改变不影响它在文档流中的位置,浏览器会将样式复制给元素,这个过程叫做重绘
  3. 重绘不一定引起回流,而回流一定会引起重绘
szgyFE commented 1 year ago

1.浏览器的渲染过程==>布局和绘制==>DOM或者样式等改变引发重新布局和重新绘制==>叫做重绘和回流 2.引发重绘和回流的情况:

YangYi-Mo commented 1 year ago

回流:当页面的尺寸、结构、布局等被修改之后,会导致重新渲染页面,称为回流

重绘:当页面元素的颜色、字体等没有改变结构、布局等,只需要重新渲染部分页面,称为重绘