前端瀏覽器渲染原理 減少重繪和回流

2021-10-10 04:37:27 字數 866 閱讀 5656

** 使用 transform 替代 top**

"test"

>

<

/div>

.test

<

/style>

settimeout((

)=>

,1000

)<

/script>

使用visibility替換display: none,因為前者只會引起重繪,後者會引發回流(改變了布局)

不要把節點的屬性值放在乙個迴圈裡當成迴圈裡的變數

for

(let i =

0; i <

1000

; i++

)

不要使用table布局,可能很小的乙個小改動會造成整個table的重新布局

動畫實現的速度的選擇,動畫速度越快,回流次數越多,也可以選擇使用requestanimationframe

css選擇符從右往左匹配查詢,避免節點層級過多

將頻繁重繪或者回流的節點設定為圖層,圖層能夠阻止該節點的渲染行為影響別的節點。比如對於video標籤來說,瀏覽器會自動將該節點變為圖層。

設定節點為圖層的方式有很多,我們可以通過以下幾個常用屬性可以生成新圖層

前端瀏覽器渲染原理 渲染過程

瀏覽器接收到 html 檔案並轉換為 dom 樹 當我們開啟乙個網頁時,瀏覽器都會去請求對應的html檔案。雖然平時我們寫 時都會分為js css html檔案,也就是字串,但是計算機硬體是不理解這些字串的,所以在網路中傳輸的內容其實都是0和1這些位元組資料。當瀏覽器接收到這些位元組資料以後,它會將...

瀏覽器渲染過程及重繪重排

瀏覽器渲染過程 html 轉化成dom css 轉化成cssom css object model 結合dom和cssom,生成一棵渲染樹 包含每個節點的視覺資訊 生成布局 layout 即將所有渲染樹的所有節點進行平面合成 將布局繪製 paint 在螢幕上 詳情可以思考下面兩張圖 重排和重繪 重新...

瀏覽器的渲染流程 重排 重繪 合成

html css j ascript資料,經過瀏覽器中間渲染模組的處理,再加上重排 重繪 合成的乙個個環節,才最終輸出為螢幕上的畫素檢視畫面。本文就逐一介紹重排 重繪 合成的基本概念 觸發時機 影響範圍以及其優化策略。重排 重繪 合成 乙個完整的渲染流程一般都經歷如下過程 html被html解析器解...