摘要:一什么是回流回流是會導致頁面重新渲染的一些元素,從而影響性能。
一、什么是回流?
回流是會導致頁面重新渲染的一些元素,從而影響性能。
二、哪些因素會導致回流?
1、調整窗口的大小;
2、改變字體,如果用rem 設置了根目錄的字體大小,這樣就減少了回流的次數(shù);
3、增加或者移除樣式表;
4、內(nèi)容的變化,用戶在input中輸入了文字(這是不可避免的);
5、激活CSS的偽類;
6、操作class屬性;
7、基本操作DOM(包括js中的domcument等);
8、計算offsetWidth與offsetHeight 屬性,獲取元素在窗口中的位置;
9、在html代碼中直接設置style 屬性的值,這個降低了代碼的利用率,還影響性能。
三、如何避免回流?
1、如果想設定元素的樣式,直接改變class名,而不是改變class中的某個特定的屬性,比如height,weight;
2、避免設置多項內(nèi)聯(lián)樣式,就是說少使用style;
3、應用元素動畫的時候,使用屬性的position屬性的fixed值或absolute值;
4、避免使用table布局;
5、盡量在DOM樹的最末端改變class,改變子節(jié)點的樣式。
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/53713.html
摘要:之后,如果渲染樹發(fā)生了變動,那么可能會觸發(fā)回流或重繪中的一個或二者。在書寫時要避免不必要的層級,書寫時避免嵌套過深規(guī)則過于復雜,尤其是后代選擇器,匹配選擇器也會耗費更多的。 剛入行前端的時候是不是經(jīng)常看到有文章說盡量不要用CSS通配符*,CSS選擇器層疊最好不要超過三層,HTML少使用table,結構也要盡量簡單一些...這一切說的不無道理,過多的使用確實會造成瀏覽器渲染的性能降低,當...
摘要:寫在金三銀四之際。一個節(jié)點觸發(fā)了,瀏覽器會檢查中其他所有節(jié)點的顯示方式一個節(jié)點觸發(fā)了會導致它的祖先節(jié)點,后代節(jié)點以及在它之后的節(jié)點全部。對性能的影響大于。解決方式控制我們無力去改變,對性能損害的程度,我們能做的只有減少它們發(fā)生的次數(shù)。 寫在金三銀四之際。 因為種種原因想要謀求新的發(fā)展,不得已翻起了塵封已久的高程書;寫起了各種經(jīng)典CSS布局;回顧起記憶略顯模糊的幾個項目。感慨著太多太多...
閱讀 3853·2021-11-24 09:39
閱讀 1850·2021-11-02 14:41
閱讀 851·2019-08-30 15:53
閱讀 3511·2019-08-29 12:43
閱讀 1225·2019-08-29 12:31
閱讀 3117·2019-08-26 13:50
閱讀 823·2019-08-26 13:45
閱讀 1022·2019-08-26 10:56