不同瀏覽器有不同的渲染引擎,比如firefox使用gecko,而safari和chrome使用webkit解析html生成dom樹
在生成dom樹的過程中會被css和js的載入執行阻塞,也就是渲染阻塞解析css生成cssom規則樹
對於外部css檔案,每個css檔案都會被解析成stylesheet物件,每個物件都包含css規則將dom樹與cssom規則樹合併在一起生成渲染樹
瀏覽器會從dom樹的根節點開始遍歷每個可見節點,對每個可見節點找到對應的css樣式規則並應用遍歷渲染樹開始布局,計算每個節點的位置大小資訊
布局階段會從渲染樹的根節點開始遍歷,然後確定每個節點物件在頁面上的確切大小和位置,輸出乙個盒模型將渲染樹每個節點繪製到螢幕
渲染樹繪製,呼叫渲染器的paint()
方法,是由瀏覽器的ui後端元件完成的根據瀏覽器布局,計算css樣式,即每個節點在頁面的大小和位置等集合資訊.這裡涉及到兩個概念:repaint(重繪)和reflow(回流)
點選詳細了解回流和重繪
瀏覽器渲染頁面的流程
瀏覽器渲染頁面的流程 1 根據html檔案構建dom樹和cssom樹。構建dom樹期間,如果遇到js,阻塞dom樹及cssom樹的構建,優先載入js檔案,載入完畢,再繼續構建dom樹及cssom樹。2 構建渲染樹 render tree 3 頁面的重繪 repaint 與重排 reflow,也有稱回...
瀏覽器渲染頁面的原理及流程
瀏覽器將網域名稱通過網路通訊從伺服器拿到html檔案後,如何渲染頁面呢?1.根據html檔案構建dom樹和cssom樹。構建dom樹期間,如果遇到js,阻塞dom樹及cssom樹的構建,優先載入js檔案,載入完畢,再繼續構建dom樹及cssom樹。2.構建渲染樹 render tree 3.頁面的重...
瀏覽器渲染頁面的原理及流程
1.根據html檔案構建dom樹和cssom樹。構建dom樹期間,如果遇到js,阻塞dom樹及cssom樹的構建,優先載入js檔案,載入完畢,再繼續構建dom樹及cssom樹。js會對dom節點進行操作,瀏覽器無法 未來的dom節點的具體內容,為了防止無效操作,節省資源,只能阻塞dom樹的構建。2....