Reflow Repaint

     Repaint又叫Redraw,重绘,它是指一种不影响当前dom结构的和布局的一种重绘动作。

     以下的动作都会促发Repaint:

  1. 不可见或可见(visibility);
  2. 颜色和图片改变(background,border-color,color之类的属性);
  3. 不改变页面元素大小,形状和位置,但改变其外观的变化。

     Reflow,又叫重构, 比起 Repaint 来讲就是一种更加显著的变化了。它主要发生在 DOM 树被操作的时候,任何改变 DOM 的结构和布局都会产生 Reflow。但一个元素的 Reflow 操作发生时,它的所有父元素和子元素都会发生 Reflow,最后 Reflow 必然会导致 Repaint 的产生。

     以下的动作都会促发Reflow:

  1. 浏览器窗口的变化;
  2. DOM 节点的添加删除操作;
  3. 一些改变页面元素大小,形状和位置的操作的触发。

     每次 Reflow 比其 Repaint 会带来更多的资源消耗,我们应该尽量减少 Reflow 的发生。
     参考:http://www.cnblogs.com/sniper007/archive/2012/12/24/2831328.html

发布了42 篇原创文章 · 获赞 2 · 访问量 5万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章