什么是repaint和reflow?
2012/3/16 10:41:31
一個頁面由兩部分組成:
DOM:描述該頁面的結構
render:描述DOM節點(nodes)在頁面上如何呈現
當DOM元素的屬性發生變化(如color)時,瀏覽器會通知render重新描繪相應的元素,此過程稱為repaint。如果該次變化涉及元素布局(如width),瀏覽器則拋棄原有屬性,重新計算并把結果傳遞給render以重新描繪頁面元素,此過程稱為reflow。這兩個過程是很耗費瀏覽器性能的,從IE系列和Chrome渲染頁面速度上的差距即可看出渲染引擎計算對應值和呈現并不一定高效,而每次對元素的操作都會發生repaints或reflow,因此編寫DOM交互時如果不注意就會導致頁面性能低下.
頁面渲染的過程如下:
1.解析HTML代碼并生成一個DOM樹。
2.解析CSS文件,順序為:瀏覽器默認樣式->自定義樣式->頁面內的樣式。
3.生成一個渲染樹(rendertree)。這個渲染樹和DOM樹的不同之處在于,它是受樣式影響的。它不包括那些不可見的節點。
4.當渲染樹生成之后,瀏覽器就會在屏幕上“畫”出所有渲染樹中的節點。
2.什么情況下會觸發瀏覽器的repaint/reflow?
除了頁面在首次加載時必然要經歷該過程之外,還有以下行為會觸發這個行為:
1.DOM元素的添加、修改(內容)、刪除(Reflow+Repaint)
2.僅修改DOM元素的字體顏色(只有Repaint,因為不需要調整布局)
3.應用新的樣式或者修改任何影響元素外觀的屬性
4.Resize瀏覽器窗口、滾動頁面
5.讀取元素的某些屬性
返回列表
返回首頁
主站蜘蛛池模板:
8090在线观看免费观看|
久久青草精品38国产|
精品国产欧美一区二区|
国产帅男男gay网站视频|
91精品视品在线播放|
宝贝乖女好紧好深好爽老师|
久久久受www免费人成|
樱桃视频直播在线观看免费|
亚洲精品中文字幕乱码三区
|
手机看片久久国产免费|
久久综合久久综合久久|
欧美在线视频导航|
亚洲线精品一区二区三区影音先锋|
精品视频一区二区三区四区五区|
国产免费福利片|
国产精品2019|
国产精品亚洲一区二区无码
|
欧美伦理三级在线播放影院|
亚洲色偷偷av男人的天堂|
精品伊人久久久久网站|
国产swag剧情在线观看|
高清videosgratis欧洲69|
国产狂喷潮在线观看在线观看|
91香蕉成人免费网站|
婷婷四房综合激情五月在线|
中文字幕在线观看网站|
日本高清二三四本2021第九页|
亚洲av无码国产精品麻豆天美|
欧美性猛交xxxx乱大交丰满
|
亚洲高清资源在线观看|
精品国产a∨无码一区二区三区
|
juy031白木优子中文字幕|
性色AV一区二区三区无码|
中文字幕第4页|
日本熟妇色熟妇在线视频播放|
亚洲AV无码乱码在线观看富二代|
欧美双茎同入视频在线观看|
亚洲欧美一区二区成人片|
波多野结衣伦理电影在线观看|
你懂的国产视频|
粗喘撞吟np文古代|