HTML面試題整理總結
前記
為了準備春招面試,對自己的知識點進行一個總結積累,第一篇是關於HTML方面的知識點,後續如果遇見新題會進行繼續的補充
什麼是 HTML 語義化,有什麼好處
HTML語義化簡單來說就是,段落使用<p></p>
,側邊欄用<aside></aside>
,主要內容使用<main></main>
。
- 有助於構架良好的HTML結構
- 有助於搜尋引擎建立索引、抓取,有利於SEO
- 有利於不同裝置的解析
- 有利於團隊的開發維護
為什麼要在html檔案開頭加上一個<!DOCTYPE html>
告訴瀏覽器使用哪個版本的HTML規範來渲染文件。DOCTYPE不存在或形式不正確會導致HTML文件以混雜模式呈現。
HTML5為什麼只需要寫 <!DOCTYPE html>?
HTML5不基於SGML,所以不需要引用DTD(DTD 文件型別定義)。在HTML5中<!DOCTYPE>只有一種
<!DOCTYPE html>
在HTML4.01中,<!DOCTYPE>宣告引用DTD,因為HTML4.01基於SGML。DTD規定了標記語言的規則,這樣瀏覽器才能正確的呈現內容。在HTML4.01中有三種<!DOCTYPE>宣告。
行內元素有哪些?塊級元素有哪些?
-
行內元素:
a
、span
、img
、input
、select
-
塊級元素:
div
、ul
、ol
、li
、p
meta viewport 是做什麼用的,怎麼寫?
控制頁面在移動端不要縮小顯示。
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
HTML5的新增特性
新增加了影象、位置、儲存、多工等功能。
-
新增功能標籤:可以用作畫板的
canvas
,用於媒介回放的video
和audio
元素等 -
本地離線儲存:
localStorage
長期儲存資料,瀏覽器關閉後資料不丟失;sessionStorage
的資料在瀏覽器關閉後自動刪除 -
語意化更好的標籤:
figure
、footer
、header
、aside
、time
等標籤 -
位置API:
Geolocation
-
表單控制元件:
calendar
date
time
email
url
search
-
新的技術:
Web Worker
(web worker是執行在後臺的 JavaScript,獨立於其他指令碼,不會影響頁面的效能。您可以繼續做任何願意做的事情:點選、選取內容等等,而此時 web worker 在後臺執行)Web Socket
-
拖放API:
drag
、drop
- 離線網路程式:能夠讓網頁在客戶端本地高效地離線執行。
- History API:允許對瀏覽器歷史記錄進行操作。這對於那些互動地載入新資訊的頁面尤其有用。
介紹一下你對瀏覽器核心的理解?
主要分成兩部分:渲染引擎(Layout Engine或Rendering Engine)和JS引擎。
渲染引擎:負責取得網頁的內容(HTML、XML、影象等等)、整理訊息(例如加入CSS等),以及計算網頁的顯示方式,然後會輸出至顯示器或印表機。瀏覽器的核心的不同對於網頁的語法解釋會有不同,所以渲染的效果也不相同。
JS引擎:解析和執行javascript來實現網頁的動態效果。
最開始渲染引擎和JS引擎並沒有區分的很明確,後來JS引擎越來越獨立,核心就傾向於只指渲染引擎。
常見的瀏覽器核心及對應瀏覽器
Trident Gecko Presto Webkit Blink