亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > 網頁設計 > 正文

頁面重構應注意的repaint和reflow

2024-08-30 08:36:25
字體:
來源:轉載
供稿:網友

我們一起來學習一下頁面重構應注意的repaint和reflow,首先了解一下什么是repaint和reflow。

1. 什么是 repaint 和 reflow?

一個頁面由兩部分組成:
DOM:描述該頁面的結構
render:描述 DOM 節點 (nodes) 在頁面上如何呈現

當 DOM 元素的屬性發生變化 (如 color) 時, 瀏覽器會通知 render 重新描繪相應的元素, 此過程稱為 repaint。

如果該次變化涉及元素布局 (如 width), 瀏覽器則拋棄原有屬性, 重新計算并把結果傳遞給 render 以重新描繪頁面元素, 此過程稱為 reflow。

這兩個過程是很耗費瀏覽器性能的, 從 IE 系列和 Chrome 渲染頁面速度上的差距即可看出渲染引擎計算對應值和呈現并不一定高效, 而每次對元素的操作都會發生 repaints 或 reflow, 因此編寫 DOM 交互時如果不注意就會導致頁面性能低下.
頁面渲染的過程如下:

頁面重構應注意的repaint和reflow

1.解析HTML代碼并生成一個 DOM 樹。

2.解析CSS文件,順序為:瀏覽器默認樣式->自定義樣式->頁面內的樣式。

3.生成一個渲染樹(render tree)。這個渲染樹和DOM樹的不同之處在于,它是受樣式影響的。它不包括那些不可見的節點。

4.當渲染樹生成之后,瀏覽器就會在屏幕上“畫”出所有渲染樹中的節點。

2. 什么情況下會觸發瀏覽器的repaint/reflow?

除了頁面在首次加載時必然要經歷該過程之外,還有以下行為會觸發這個行為:
引用:
1. DOM元素的添加、修改(內容)、刪除( Reflow + Repaint)
2. 僅修改DOM元素的字體顏色(只有Repaint,因為不需要調整布局)
3. 應用新的樣式或者修改任何影響元素外觀的屬性
4. Resize瀏覽器窗口、滾動頁面
5. 讀取元素的某些屬性(offsetLeft、offsetTop、offsetHeight、offsetWidth、 scrollTop/Left/Width/Height、clientTop/Left/Width/Height、 getComputedStyle()、currentStyle(in IE))
3. 怎么優化?

1. 避免在document上直接進行頻繁的DOM操作,如果確實需要可以采用off-document的方式進行,具體的方法包括但不完全包括以下幾種:


引用:
1. 先將元素從document中刪除,完成修改后再把元素放回原來的位置
2. 將元素的display設置為”none”,完成修改后再把display修改為原來的值
3. 如果需要創建多個DOM節點,可以使用DocumentFragment創建完后一次性的加入document
2. 集中修改樣式


引用:
       1. 盡可能少的修改元素style上的屬性
       2. 盡量通過修改className來修改樣式
       3. 通過cssText屬性來設置樣式值
3. 緩存Layout屬性值


引用:
       對于Layout屬性中非引用類型的值(數字型),如果需要多次訪問則可以在一次訪問時先存儲到局部變量中,之后都使用局部變量,這樣可以避免每次讀取屬性時造成瀏覽器的渲染。
4. 設置元素的position為absolute或fixed


引用:
       在元素的position為static和relative時,元素處于DOM樹結構當中,當對元素的某個操作需要重新渲染時,瀏覽器會渲染整個頁 面。將元素的position設置為absolute和fixed可以使元素從DOM樹結構中脫離出來獨立的存在,而瀏覽器在需要渲染時只需要渲染該元素 以及位于該元素下方的元素,從而在某種程度上縮短瀏覽器渲染時間,這在當今越來越多的Javascript動畫方面尤其值得考慮。
5. 權衡速度的平滑


引用:
       比如實現一個動畫,以1個像素為單位移動這樣最平滑,但reflow就會過于頻繁,CPU很快就會被完全占用。如果以3個像素為單位移動就會好很多。
6. 不要用tables布局


引用:
       不要用tables布局的另一個原因就是tables中某個元素一旦觸發reflow就會導致table里所有的其它元素 reflow。在適合用table的場合,可以設置table-layout為auto或fixed,這樣可以讓table一行一行的渲染,這種做法也是為了限制reflow的影響范圍
7. 不要在css里面寫expression


引用:
       很多情況下都會觸發reflow,如果css里有expression,每次都會重新計算一遍

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕日韩av| 色狠狠久久aa北条麻妃| 欧美性xxxx极品hd满灌| 51色欧美片视频在线观看| 欧美激情中文网| 国产精品久久久久久久久久ktv| 国产精品国产三级国产aⅴ9色| 中国人与牲禽动交精品| 日韩日本欧美亚洲| 久久av在线播放| 久久资源免费视频| 国产日产久久高清欧美一区| 9.1国产丝袜在线观看| 欧美三级免费观看| 精品女同一区二区三区在线播放| 国产成人精品电影久久久| 亚洲免费中文字幕| 中文字幕精品av| 日韩在线播放视频| 国产精品wwwwww| 日韩精品黄色网| www.日韩免费| 欧美一区二区三区免费观看| 国产中文字幕亚洲| 欧美精品一区二区三区国产精品| 亚洲人成在线播放| 日韩av在线网| 久久精品国产96久久久香蕉| 九色91av视频| 欧美激情精品久久久久久大尺度| 国产综合香蕉五月婷在线| 亚洲精品福利在线| 欧美人与性动交a欧美精品| 欧美日韩在线第一页| 亚州国产精品久久久| 国产欧美精品一区二区| yw.139尤物在线精品视频| 91久久久久久久| 亚洲美女免费精品视频在线观看| 亚洲天堂色网站| 国产精品男人爽免费视频1| 九九热精品视频| 国产精品久久77777| 欧美裸体xxxx极品少妇软件| 热re91久久精品国99热蜜臀| 亚洲欧美日韩爽爽影院| 亚洲精品小视频在线观看| 97在线免费观看视频| 国产精品一香蕉国产线看观看| 北条麻妃在线一区二区| 91国产精品91| 亚洲美女在线看| 欧美国产日本高清在线| 国产精品96久久久久久| 欧美与黑人午夜性猛交久久久| 国产中文字幕日韩| 欧美俄罗斯性视频| 国产精品观看在线亚洲人成网| 成人免费看黄网站| 日韩毛片在线看| www国产精品com| 亚洲直播在线一区| 黑人极品videos精品欧美裸| 久久久久久国产精品三级玉女聊斋| 国产精品视频久| 97超碰国产精品女人人人爽| 在线看欧美日韩| 国产精品爽爽爽爽爽爽在线观看| 国产精品日韩欧美大师| 成人精品视频99在线观看免费| 亚洲欧美日韩精品久久| 欧美成人sm免费视频| 国产精品美女在线| 亚洲国产精品小视频| 日韩av毛片网| 亚洲精品美女在线观看播放| 国产在线视频不卡| 中文字幕自拍vr一区二区三区| 国产精品久久久久不卡| 日本午夜人人精品| 91探花福利精品国产自产在线| 不卡av在线播放| 国产乱人伦真实精品视频| 国产精品久久久久久一区二区| 日韩一区视频在线| 日韩电影中文 亚洲精品乱码| 欧美日韩亚洲视频一区| 久久久久久久亚洲精品| 亚洲免费视频一区二区| 日韩欧美亚洲综合| 国产精品流白浆视频| 狠狠色噜噜狠狠狠狠97| 18一19gay欧美视频网站| 国产自产女人91一区在线观看| 日韩欧美在线字幕| 国产精品人人做人人爽| 久久国产加勒比精品无码| 668精品在线视频| 欧美成人激情视频免费观看| 97香蕉超级碰碰久久免费软件| 俺去亚洲欧洲欧美日韩| 国产女人18毛片水18精品| 国产成人精品最新| 国产欧美一区二区三区视频| 精品国偷自产在线视频99| 国产成人一区二区在线| 成人国产精品久久久| 亚洲变态欧美另类捆绑| 日韩精品在线免费播放| 欧美极品少妇xxxxⅹ喷水| 国产精品激情自拍| 成人久久久久久| 亚洲va久久久噜噜噜久久天堂| 国产97在线视频| 91福利视频在线观看| 日韩av电影中文字幕| 亚洲第一网站免费视频| 亚洲国产精品va在线看黑人动漫| 亚洲成人网av| 综合欧美国产视频二区| 操日韩av在线电影| 中文字幕久久久av一区| 成人av.网址在线网站| 欧美华人在线视频| 久久久久国产精品免费网站| 国产精品福利无圣光在线一区| 在线观看国产精品91| 国产精品亚洲视频在线观看| 中文字幕亚洲欧美一区二区三区| 国模精品一区二区三区色天香| 国产精品v片在线观看不卡| 97香蕉超级碰碰久久免费软件| 日韩成人免费视频| 亚洲一二在线观看| 久久69精品久久久久久久电影好| 久久精品免费播放| 国产97在线播放| 91超碰caoporn97人人| 国产精品免费久久久| 91av免费观看91av精品在线| 8x海外华人永久免费日韩内陆视频| 亚洲视频在线播放| 欧美乱大交xxxxx| 亚洲精品99久久久久| 久久久亚洲精品视频| 日韩国产高清污视频在线观看| 中文字幕欧美专区| 久久成年人免费电影| 日韩国产欧美精品一区二区三区| 91久久久亚洲精品| 欧美一级黑人aaaaaaa做受| 国产日韩精品电影| 中文字幕国产精品| 日韩欧美成人区| 成人精品视频久久久久| 久久久亚洲天堂| 色综合视频网站| 美女视频黄免费的亚洲男人天堂| 欧美亚洲伦理www| 81精品国产乱码久久久久久| 久久久国产精品一区| 8090成年在线看片午夜| 少妇高潮久久久久久潘金莲| 中文字幕日韩欧美|