更新时间:2022年08月26日18时33分 来源:传智教育 浏览次数:
重绘(repaint或redraw):
重绘是指一个元素外观的改变所触发的浏览器行为,浏览器会根据元素的新属性重新绘制,使元素呈现新的外观。重绘发生在元素的可见的外观被改变,但并没有影响到布局的时候。比如,仅修改DOM元素的字体颜色(只有Repaint,因为不需要调整布局)。
重排(重构/回流/reflow):
当渲染树中的一部分(或全部)因为元素的规模尺寸,布局,隐藏等改变而需要重新构建, 这就称为回流(reflow)。每个页面至少需要一次回流,就是在页面第一次加载的时候。
触发重排的条件:任何页面布局和几何属性的改变都会触发重排:
页面渲染初始化(无法避免)
添加或删除可见的DOM元素
元素位置的改变,或者使用动画
元素尺寸的改变——大小,外边距,边框
浏览器窗口尺寸的变化
填充内容的改变,比如文本的改变或图片大小改变而引起的计算值宽度和高度的改变
总结:重排必定会引发重绘,但重绘不一定会引发重排。