web前端中涉及的迴流和重繪詳解!
今天我們為大家介紹一下 web前端中涉及到的迴流和重繪的概念,先來看一下官方給出的定義:
迴流(reflow):對於DOM結構中的各個元素都有自己的盒子模型,這些都需要瀏覽器根據各種樣式(瀏覽器的、開發人員定義的等)來計算並根據計算結果將元素放到它該出現的位置,這個過程稱之為reflow ;
重繪(repaint):當各種盒子的位置、大小以及其他屬性,例如顏色、字型大小等都確定下來後,瀏覽器於是便把這些元素都按照各自的特性繪製了一遍,於是頁面的內容出現了,這個過程稱之為repaint。
其實簡單的說:
迴流(reflow)就是元素的位置發生了改變(不管是新增、刪除元素,還是元素尺寸改變),會觸發迴流。比如,這裡有2個p標籤,我們想在兩個p標籤之間插入另外一個p標籤
這個時候老大還是老大,插入一個新老二之後,原來的老二變成了老三,位置發生了改變會觸發迴流。
那麼重繪(repaint)簡單的說,元素位置不會發生改變,視覺效果會有所改變。
元素的位置沒有發生改變,只有文字顏色做了修改,這個時候就發生了重繪。知道了迴流和重繪,我們在做專案的過程中,要儘量避免,這樣可以使我們寫出高效能的DOM。例如:我們在給元素新增樣式修飾時,避免一條條更改
可以將修飾放入一個class名中,做一次class名插入
還有我們要迴圈插入很多DOM元素時,可以使用documentFragment
希望本文的分享能幫到學習web前端的小夥伴們。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2766080/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JS的重繪和迴流JS
- 瀏覽器迴流和重繪瀏覽器
- 真正理解重繪和迴流
- 迴流 與 重繪
- 【前端工程師手冊】學習迴流和重繪(reflow和repaint)前端工程師AI
- 【開發必看】你真的瞭解迴流和重繪嗎?
- 前端迴流與重繪:概念及觸發條件前端
- 迴流(reflow)與重繪(repaint)AI
- 迴流、重繪及其優化優化
- 前端面試查漏補缺--(五) 渲染機制及重繪和迴流前端面試
- 第 15 題:談談你對迴流和重繪的理解?
- 關於迴流與重繪優化的探索優化
- 瀏覽器的迴流與重繪 (Reflow & Repaint)瀏覽器AI
- 什麼是重繪repaint?什麼是迴流reflow?AI
- Java Web中的request,response,重定位與轉發的詳解JavaWeb
- 介紹迴流與重繪(Reflow & Repaint),以及如何進行優化?AI優化
- web前端技術Mongoose詳解Web前端Go
- 詳解node.js中的可讀流(Readable)和可寫流(Writeable)Node.js
- web前端技術分享:詳解模組化require 和 import的區別Web前端UIImport
- 重排和重繪
- 前端優化,瞭解瀏覽器重排與重繪前端優化瀏覽器
- Web容器中DefaultServlet詳解WebServlet
- nodejs事件和事件迴圈詳解NodeJS事件
- Golang中的強大Web框架Fiber詳解GolangWeb框架
- Java while和do while迴圈詳解JavaWhile
- 詳解Java中的IO輸入輸出流!Java
- Kotlin 控制流和陣列操作詳解Kotlin陣列
- web前端開發教程-while迴圈Web前端While
- 好程式設計師web前端詳解HTML5中download屬性的應用程式設計師Web前端HTML
- JS節流和防抖的區分和實現詳解JS
- web前端乾貨:詳細瞭解JS前端開發框架都有哪些Web前端JS框架
- 好程式設計師web前端分享html中meta標籤及用法詳解程式設計師Web前端HTML
- View的繪製-measure流程詳解View
- C#中Linq的去重方式Distinct詳解C#
- 瀏覽器中的事件流和node中處理時間迴圈的分析瀏覽器事件
- canvas 繪製文字詳解Canvas
- Java 中 this 和 super 的用法詳解Java
- MyBatis中#{}和${}的區別詳解MyBatis