Css回流和重绘是什么?

131 阅读1分钟

一、定义

(1) 重绘(repaint):当页面中元素样式的改变并不影响它在文档流中的位置时(例如color、background-color、visibility等),浏览器会将新样式赋予给元素并重新绘制它,这个过程称为重绘。

(2) 回流(reflow):当渲染树中部分或全部元素的尺寸、结构、或某些属性发生改变时,浏览器重新渲染部分或全部文档的过程称为回流。

二、何时会引起重绘?

(1) 元素的颜色、透明度改变。

(2) text-alian改变等。

三、何时会引起回流?

(1) 添加或删除可见的DOM元素

(2) 元素的位置发生变化

(3) 元素的尺寸发生变化(包括外边距、内边框、边框大小、高度和宽度等)

(4) 内容发生变化,比如文本变化或图片被另一个不同尺寸的图片所替代。

(5) 浏览器的窗口尺寸变化(因为回流是根据视口的大小来计算元素的位置和大小的)

四、重绘和回流的联系?

回流一定会融发重绘,而重绘不一定会回流

我的博客只写前端博文,点击我去看更多喜欢的前端博文,欢迎大家一起讨论学习!【https://blog.csdn.net/qq_29101285?spm=1011.2266.3001.5343】