上圖中,請求 HTML 數據和構建 DOM 中間有一段空閒時間,這段時間可能成爲頁面渲染的瓶頸。 DOM 構建結束後,css 文件還未下載完成這段時間內,渲染流水線一直在等待,由於下一步是合成佈局樹。合成佈局樹須要 CSSOM 和 DOM,因此須要等待 CSS 加載結束並解析爲 CSSOM。
這種狀況下,CSS 沒有阻塞 DOM 的生成。
CSSOM 的做用
提供給 JS 操做樣式表的能力
爲佈局樹合成提供基礎的樣式信息
含有內聯 JS 和 外部 CSS 頁面的渲染流水線
從上圖中能夠看到,構建 DOM 過程當中遇到 JS 會中止構建,去解析執行 JS,由於 JS 可能會修改當前 DOM。