渲染機制

一、DOCTYPE及作用

DTD(document type definition,文檔類型定義)是一系列的語法規(guī)則,用來定義XML或(X)HTML的文檔類型。瀏覽器會使用它來判斷文檔類型,決定使用何種協(xié)議來解析,以及切換瀏覽器模式

DOCTYPE是用來聲明文檔類型和DTD規(guī)范的,一個主要的用途便是文件的合法性驗證。如果文件代碼不合法,那么瀏覽器解析時便會出一些差錯

HTML 5

<!DOCTYPE html>

HTML 4.01? ? Strict? ? 包含所有HTML元素和屬性,但不包括展示性和棄用元素(如font)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN "http://www.w3.org/TR/html4/strict.dtd">

HTML 4.01? ? Transitional? ? 包含所有HTML元素和屬性,包括展示性和棄用的元素

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN "http://www.w3.org/TR/html4/strict.dtd">

二、瀏覽器的渲染過程



三、重排Reflow

DOM結構中的各個元素都有自己的盒模型,這些都需要瀏覽器根據(jù)各種樣式來計算并根據(jù)計算結果將元素放到它改出現(xiàn)的位置,這個過程稱之為Reflow

觸發(fā)Reflow

????增加、刪除、修改DOM節(jié)點

????移動DOM位置

????修改CSS

????Resize窗口,或滾動時

????修改網(wǎng)頁默認字體

四、Repaint

當各種盒子的位置、大小以及其他屬性,例如顏色、字體大小等都確定下來以后,瀏覽器把這些元素都按照各自特性繪制一遍,于是頁面的內(nèi)容呈現(xiàn)在屏幕上,這個過程稱之為Repaint

觸發(fā)Repaint

DOM改動

CSS改動

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容