為什麼css還沒下載完,domcontentloaded(藍色線) 就完成了?
認(rèn)證0級講師
1.瀏覽器開始解析目標(biāo)HTML檔,執(zhí)行流的順序為自上而下。
2.HTML解析器將HTML結(jié)構(gòu)轉(zhuǎn)換為基礎(chǔ)的DOM(文檔物件模型),建構(gòu)DOM樹完成後,觸發(fā)DomContendLoaded事件。
3.CSS解析器將CSS解析為CSSOM(層疊樣式表物件模型),一棵僅含有樣式資訊的樹。
4.CSSOM和DOM開始合併構(gòu)成渲染樹,每個節(jié)點開始包含特定的樣式資訊。
5.計算渲染樹中各節(jié)點的位置資訊,即佈局階段。
6.將佈局後的渲染樹顯示到介面上。
domcontentloaded
本身就是當(dāng)HTML標(biāo)籤已經(jīng)完成載入和解析時,無需等待樣式表。
DOMContentLoaded 事件將被觸發(fā),當(dāng)初始HTML文件已經(jīng)完成載入和解析時,而無需等待樣式表,圖像和子訊框的完全載入。
參考:https://developer.mozilla.org...
首先css
下載不會阻塞網(wǎng)頁渲染,一個網(wǎng)頁由html
和資源資源組成,其他資源的下載不會影響到html
檔案本身的下載,他們之間是並發(fā)的。
DOM 和 CSSOM 是獨立的資料結(jié)構(gòu)
參考:https://developers.google.com...