1.用戶輸入網(wǎng)址,發(fā)送http請(qǐng)求,
DNS域名解析IP,
- 解析html文件,創(chuàng)建dom樹
- 解析css
- 將css與dom合并,創(chuàng)建渲染樹
**影響頁(yè)面渲染速度主要有:reflow(回流)和repaint(重繪) **
reflow(回流):
說到頁(yè)面為什么會(huì)慢?那是因?yàn)闉g覽器要花時(shí)間、花精力去渲染,尤其是當(dāng)它發(fā)現(xiàn)某個(gè)部分發(fā)生了點(diǎn)變化影響了布局,需要倒回去重新渲染, 該過程稱為reflow(回流)。
reflow 幾乎是無法避免的?,F(xiàn)在界面上流行的一些效果,比如樹狀目錄的折疊、展開(實(shí)質(zhì)上是元素的顯 示與隱藏)等,都將引起瀏覽器的 reflow。鼠標(biāo)滑過、點(diǎn)擊……只要這些行為引起了頁(yè)面上某些元素的占位面積、定位方式、邊距等屬性的變化,都會(huì)引起它內(nèi)部、周圍甚至整個(gè)頁(yè)面的重新渲 染。通常我們都無法預(yù)估瀏覽器到底會(huì) reflow 哪一部分的代碼,它們都彼此相互影響著。
repaint(重繪):
只是改變某個(gè)元素的背景色、文 字顏色、邊框顏色等等不影響它周圍或內(nèi)部布局的屬性,將只會(huì)引起瀏覽器 repaint(重繪)。
repaint 的速度明顯快于 reflow(在IE下需要換一下說法,reflow 要比 repaint 更緩慢)。