頁面渲染流程

2021-07-10 05:09:03 字數 656 閱讀 1910

1.  瀏覽器把獲取到的html**解析成1個dom樹,html中的每個tag都是dom樹中的1個節點,根節點就是我們常用的document物件。dom樹里包含了所有html標籤,包括display:none隱藏,還有用js動態新增的元素等。

2. 瀏覽器把所有樣式(使用者定義的css和使用者**)解析成樣式結構體,在解析的過程中會去掉瀏覽器不能識別的樣式,比如ie會去掉-moz開頭的樣式,而ff會去掉_開頭的樣式。

3、dom tree 和樣式結構體組合後構建render tree, render tree類似於dom tree,但區別很大,render tree能識別樣式,render tree中每個node都有自己的style,而且 render tree不包含隱藏的節點 (比如display:none的節點,還有head節點),因為這些節點不會用於呈現,而且不會影響呈現的,所以就不會包含到 render tree中。注意 visibility:hidden隱藏的元素還是會包含到 render tree中的,因為visibility:hidden 會影響布局(layout),會占有空間。根據css2的標準,render tree中的每個節點都稱為box (box dimensions),理解頁面元素為乙個具有填充、邊距、邊框和位置的盒子。

4. 一旦render tree構建完畢後,瀏覽器就可以根據render tree來繪製頁面了。

頁面渲染流程

自上而下解析,遇到任何樣式 link style 和指令碼 script 都會阻塞 1 css載入不會阻塞html檔案的解析,但會阻塞dom的渲染 2 css載入會阻塞後面js語句的執行 3 js會阻塞html的解析和渲染 4 沒有defer和async標籤的script會立即載入並執行 5 有as...

頁面渲染的原理及流程

根據html檔案構建dom樹和cssom樹。構建dom樹期間,如果遇到js,阻塞dom樹及cssom樹的構建,優先載入js檔案,載入完畢,再繼續構建dom樹及cssom樹。構建渲染樹。頁面的重繪與重排 也有稱回流 頁面渲染完成後,若js操作了dom節點,根據js對dom操作動作的大小,瀏覽器對頁面進...

瀏覽器頁面渲染流程

渲染流水線中css和js的載入 相關概念 html css js資料通過渲染模組的處理最終輸出為螢幕上的畫素 渲染模組被劃分為很多子階段,輸入的資料通過這些子階段最後輸出畫素,這樣的乙個處理流程叫做渲染流水線 注意 每個子階段都有其輸入內容 處理過程和輸出內容 因為瀏覽器無法直接理解和使用html,...