我們都可能知道瀏覽器有一個渲染引擎赏陵,他可以渲染html,xml,還有一些圖片,但是大部分人都不知道瀏覽器是如何渲染這些文件的饲漾,還有瀏覽器安裝安裝一個擴展可以打開pdf瘟滨,是如何做到的呢?
一能颁、首先 瀏覽器引擎通過網(wǎng)絡獲取到html ,
1、解析html 轉化為dom倒淫;
2伙菊、解析css 轉化為cssom;
3、結合dom 和cssom 生成一顆渲染 tree,并且生成每一個節(jié)點的視覺信息镜硕;
4运翼、生成布局(layout),將所有的渲染tree的節(jié)點進行平面合成兴枯;
5血淌、將布局繪制(paint)屏幕上;
1-3步的速度是非巢破剩快的悠夯,4-5步比較耗時;
生成布局(flow)和繪制(paint)這兩步躺坟,合成為“render”渲染沦补;
二、重繪和重排
1咪橙、頁面生成時候夕膀,最少渲染一次頁面,用戶訪問過程中美侦,在繼續(xù)渲染产舞;
在以下情況中會發(fā)生重繪:
1、用戶點擊事件
2菠剩、修改dom
2易猫、修改樣式表
重新渲染 就是需要重新布局重新繪制,重繪不一定會重排赠叼;但是重排一定會重繪擦囊;