Warum wird domcontentloaded (blaue Linie) abgeschlossen, bevor das CSS heruntergeladen wird?
認(rèn)證0級(jí)講師
1.瀏覽器開始解析目標(biāo)HTML文件,執(zhí)行流的順序?yàn)樽陨隙隆?br>2.HTML解析器將HTML結(jié)構(gòu)轉(zhuǎn)換為基礎(chǔ)的DOM(文檔對(duì)象模型),構(gòu)建DOM樹完成后,觸發(fā)DomContendLoaded事件。
3.CSS解析器將CSS解析為CSSOM(層疊樣式表對(duì)象模型),一棵僅含有樣式信息的樹。
4.CSSOM和DOM開始合并構(gòu)成渲染樹,每個(gè)節(jié)點(diǎn)開始包含具體的樣式信息。
5.計(jì)算渲染樹中個(gè)各個(gè)節(jié)點(diǎn)的位置信息,即布局階段。
6.將布局后的渲染樹顯示到界面上。
domcontentloaded
本身就是當(dāng)HTML標(biāo)簽已經(jīng)完成加載和解析時(shí),無需等待樣式表。
DOMContentLoaded 事件將被觸發(fā),當(dāng)初始HTML文檔已經(jīng)完成加載和解析時(shí),而無需等待樣式表,圖像和子幀的完全加載。
參考:https://developer.mozilla.org...
首先css
下載不會(huì)阻塞網(wǎng)頁渲染,一個(gè)網(wǎng)頁由html
和資源資源組成,其他資源的下載不會(huì)影響到html
文件本身的下載,他們之間是并發(fā)的。
DOM 和 CSSOM 是獨(dú)立的數(shù)據(jù)結(jié)構(gòu)
參考:https://developers.google.com...