小編給大家分享一下前端瀏覽器渲染的5大步驟分別是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)公司是一家業(yè)務(wù)范圍包括IDC托管業(yè)務(wù),虛擬空間、主機(jī)租用、主機(jī)托管,四川、重慶、廣東電信服務(wù)器租用,成都天府聯(lián)通服務(wù)器托管,成都網(wǎng)通服務(wù)器托管,成都服務(wù)器租用,業(yè)務(wù)范圍遍及中國大陸、港澳臺(tái)以及歐美等多個(gè)國家及地區(qū)的互聯(lián)網(wǎng)數(shù)據(jù)服務(wù)公司。瀏覽器渲染一共有五步
處理 HTML 并構(gòu)建 DOM 樹
處理 CSS構(gòu)建 CSSOM 樹
將 DOM 與 CSSOM 合并成一個(gè)渲染樹
根據(jù)渲染樹來布局,計(jì)算每個(gè)節(jié)點(diǎn)的位置
調(diào)用 GPU 繪制,合成圖層,顯示在屏幕上
第四步和第五步是最耗時(shí)的部分,這兩步合起來,就是我們通常所說的渲染
重繪和回流是渲染步驟中的一小節(jié),但是這兩個(gè)步驟對于性能影響很大
重繪(Repaint)
重繪是當(dāng)節(jié)點(diǎn)需要更改外觀而不會(huì)影響布局的,比如改變 color 就叫稱為重繪。
常見的引起重繪的屬性:
color border-style visibility background text-decoration outline box-shadow
回流(Reflow)
回流是布局或者幾何屬性需要改變就稱為回流。
回流必定會(huì)發(fā)生重繪,重繪不一定會(huì)引發(fā)回流?;亓魉璧某杀颈戎乩L高的多,改變深層次的節(jié)點(diǎn)很可能導(dǎo)致父節(jié)點(diǎn)的一系列回流
常見引起回流屬性和方法:
添加或者刪除可見的DOM元素;
元素尺寸改變——邊距、填充、邊框、寬度和高度
內(nèi)容變化,比如用戶在input框中輸入文字
瀏覽器窗口尺寸改變——resize事件發(fā)生時(shí)
計(jì)算 offsetWidth 和 offsetHeight 屬性
設(shè)置 style 屬性的值
全局范圍:從根節(jié)點(diǎn)html開始對整個(gè)渲染樹進(jìn)行重新布局。
局部范圍:對渲染樹的某部分或某一個(gè)渲染對象進(jìn)行重新布局
以上是“前端瀏覽器渲染的5大步驟分別是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道!