全国统一咨询热线:18609840880

网站设计过程中的repaint和reflow

2016-04-12 11:22:21

1. 什么是 repaint 和 reflow?



一个页面由两部分组成:


DOM:描述该页面的结构


render:描述 DOM 节点 (nodes) 在页面上如何呈现



当 DOM 元素的属性发生变化 (如 color) 时, 浏览器会通知 render 重新描绘相应的元素, 此过程称为 repaint。



如果该次变化涉及元素布局 (如 width), 浏览器则抛弃原有属性, 重新计算并把结果传递给 render 以重新描绘页面元素, 此过程称为 reflow。



这两个过程是很耗费浏览器性能的, 从 IE 系列和 Chrome 渲染页面速度上的差距即可看出渲染引擎计算对应值和呈现并不一定高效, 而每次对元素的操作都会发生 repaints 或 reflow, 因此编写 DOM 交互时如果不注意就会导致页面性能低下.大连网站设计