網頁設計:減少reflow

瀏覽器為了重新渲染部分或整個頁面,重新計算頁面元素位置和幾何結構(geometries)的進程叫做 reflow。由於 reflow 是一種瀏覽器中的用戶攔截(user-blocking)操作,所以瞭解如何減少 reflow 次數,及不同的文檔屬性(DOM 層級(DOM depth),CSS 效率,不用類型的 style 變化)對 reflow 次數的影響對開發者來說非常必要。有時 reflow 頁面中的一個元素會 reflow 它的父元素(譯註:這裡是複數)以及所有子元素。

有多種用戶操作和 DHTML 變化可能會觸發 reflow。調整瀏覽器窗口的大小,用 javas cript 計算樣式(computed styles),在 DOM 中創建刪除元素,改變元素的 class 都會觸發 reflow。值得注意的是,有些操作會多次觸發 reflow,超出你的想象。

從上表可以很明顯的看出,在所有瀏覽器中並非所有 javas cript 控制的樣式都觸發 reflow,即使觸發了觸發的次數也不盡相同。同時可以看出現代瀏覽器在控制 reflow 次數方面做的越來越好。


分享到:


相關文章: