前端系統複習之瀏覽器渲染機制

2021-08-27 04:02:14 字數 2122 閱讀 4072

二面的內容:

本文接下來講渲染機制。

渲染機制包括的內容:

面試經常會問:在瀏覽器中輸入url,發生了哪些事情。其中有一部就是瀏覽器的渲染過程。

面試官問完了渲染機制,一般會緊接著問重排reflow,你可千萬別說你沒聽過。

這裡的layout指的是瀏覽器的layout。

dtd(document type definition):文件型別定義。

是一系列的語法規則,用來定義xml或者(x)html檔案型別。瀏覽器會使用dtd來判斷文字型別,決定使用何種協議來解析,以及切換瀏覽器模式。(說白了就是:dtd就是告訴瀏覽器,我是什麼文件型別,你要用什麼協議來解析我)

doctype:用來宣告dtd規範。

乙個主要的用途便是檔案的合法性驗證。如果檔案**不合法,那麼瀏覽器解析時便會出現一些差錯。(說白了,doctype就是用來宣告dtd的)

面試官緊接著會問,常見的 doctype 有哪些,以及 html5 的 doctype 怎麼寫。

1、html 4.01 strict:(嚴格的)

ps:該dtd包含所有的html元素和屬性,但不包括展示性的和棄用的元素(比如 font、u下劃線等,這些是被廢棄了的)。

2、html 4.01 transitional:(傳統的)

ps:該dtd包含所有的html元素和屬性,但包括展示性的和棄用的元素(比如 font、u下劃線等)。

3、html 5:

總結:面試時,不會讓你寫出 html 4.01的寫法,因為大家都記不住。但是要記住 html 5 的寫法,別看它簡單,知道的人還真不多。

面試時,可以這樣回答: html 4.01 中有兩種寫法,一種是嚴格的,一種是傳統的;並且答出二者的區別。 html 5的寫法是

瀏覽器的渲染過程非常複雜,但是面試只用說幾句話就行了,不然太耗時間。如何快速簡潔地描述清楚,是關鍵。

重排 reflow:dom結果中的各個元素都有自己的盒子(模型),這些都需要瀏覽器根據各種樣式來計算,並根據計算結果將元素放在它該出現的位置,這個過程稱之為reflow。

面試總結:

首先要答出 reflow 定義;其次,什麼時候觸發,至少要答出兩條。更進一步,面試官可能還會問你怎麼避免reflow,這個自己去查查吧。

repaint重繪製:當各種盒子的位置、大小以及其他屬性,例如顏色、字型大小等都確定下來後,瀏覽器便把這些元素都按照各自的特性繪製一遍,於是頁面的內容出現了,這個過程稱之為 repaint。

說白了,頁面要呈現的內容,統統畫在螢幕上,這就叫 repaint。

其實,就是判斷當前呈現的內容是否發生變化(無論這個變化是通過dom改動還是css改動)。只要頁面顯示的內容不一樣了,肯定要 repaint。

面試總結:

面試官經常會問:「如何**儘量減少**repaint的頻率?」

注意, reflow是問「怎麼避免」,repaint是問「怎麼減少」。repaint是無法避免的,否則就成了靜態頁面了。

答案

(1)如果需要建立多個dom節點,可以使用documentfragment建立完,然後一次性地加入document。(加乙個節點,就repaint一次,不太好)

(2)將元素的display設定為」none」,完成修改後再把display修改為原來的值。

前端基礎 瀏覽器渲染機制

1 doctype概念及作用 doctype是用來宣告文件型別和dtd規範的,乙個主要的用途便是檔案的合法性驗證。如果檔案 不合法,那麼瀏覽器解析時便會出一些差錯。dtd document type definition,文件型別定義 是一系列的語法規則,用來定 義xml或 x html的檔案型別。...

瀏覽器渲染機制

google web fundamentals 是乙個非常優秀的文件,裡面講到了跟web 瀏覽器 前端的方方面面。我總結一下其中的 ilya grigorik 寫的 critical rendering path 瀏覽器渲染機制部分的內容如下 1 dom document object model,...

瀏覽器渲染機制

1.什麼是doctype及其作用 dtd document type definition,文件型別定義 是一系列的語法規則,用來定義xml或 x html的檔案型別。瀏覽器會使用它來判斷文件型別,決定使用何種協議來解析及切換瀏覽器模式 doctype是用來宣告文件型別和dtd規範的,乙個主要的用途...