重繪與回流 影響瀏覽器載入速度

2022-06-27 18:15:15 字數 806 閱讀 2262

對於重繪和回流的概念不是很清晰,檢視了許多博文,在這裡說一下自己的理解!!歡迎同學們與我交流。

1、重繪概念

重繪:對元素的背景顏色,字型樣式樣式進行設定,如:font-weight、color、background-color.

回流一定是重繪,重繪不一定是回流

2、回流的概念

回流:因為元素的尺寸,布局,隱藏等改變而需要重新對其進行構建的操作(重構頁面)。

包括:1、對font-size,margin,padding 等可以改變寬高和布局的style屬性(尺寸、內容、距離)的改變。

2、新增、刪除(可見元素)的dom操作。

3、使用者操作 改變瀏覽器視窗大小或是字型等

4、對offset**** 、scroll***、client***、width/height的改變(***=top/left/width/height)

3、如何減少重繪和回流

1、想要改變元素樣式,通過改變元素的 class 名 (盡可能在 dom 樹的最末端改變class)

2、避免設定多項內聯樣式,因為每個都會造成回流,樣式應該合併在乙個外部類,這樣當該元素的class屬性可被操控時僅會產生乙個reflow。

3、在操作offset**** 、scroll***、client***、width/height等屬性時,先用變數先進行儲存,在進行操作。

重繪和回流也是為什麼要減少dom操作的原因之一,在本部落格文章《dom tree和render tree》中會有詳解。

瀏覽器的回流與重繪

在討論回流與重繪之前,我們要知道 瀏覽器使用流式布局模型 flow based layout 瀏覽器會把html解析成dom,把css解析成cssom,dom和cssom合併就產生了render tree。有了rendertree,我們就知道了所有節點的樣式,然後計算他們在頁面上的大小和位置,最後把...

瀏覽器的重繪和回流

重繪 當元素樣式的改變不影響布局時,瀏覽器會使用重繪的方式來更新元素的變化,這種改變只會在ui層的重新畫素繪製,這種方式的對瀏覽器開銷比較小。常見的重繪操作有 改變元素顏色 改變元素背景色 more 回流 又名 重排 當元素的尺寸 結構或者觸發了某個屬性的改變,會導致瀏覽器重新渲染,這種操作會造成回...

瀏覽器的回流和重繪

重繪 比如 background color font size 等,這些屬性的改變不會影響頁面的結構布局,只會影響內容的變化,即這些屬性的改變將會引起瀏覽器的重繪 回流 比如 padding margin height 等,改變這些屬性會影響頁面的結構布局,即改變這些屬性會引起瀏覽器的回流 為什麼...