一、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改動