HTML面試題總結



1. DOCTYPE 的作用是什么?

<!DOCTYPE> 聲明一般位於文檔的第一行,它的作用主要是告訴瀏覽器以什么樣的模式來解析文檔。一般指定了之后會以標准模式來 進行文檔解析,否則就以兼容模式進行解析。在標准模式下,瀏覽器的解析規則都是按照最新的標准進行解析的。而在兼容模式下,瀏 覽器會以向后兼容的方式來模擬老式瀏覽器的行為,以保證一些老的網站的正確訪問。 

2. 標准模式與兼容模式各有什么區別?

  • 標准模式的渲染方式和 JS 引擎的解析方式都是以該瀏覽器支持的最高標准運行。
  • 兼容模式中,頁面以寬松的向后兼容的方式顯示 ,模擬老式瀏覽器的行為以防止站點無法工作。

3. HTML5 為什么只需要寫  <!DOCTYPE HTML> ,而不需要引入 DTD?

  • HTML5 不基於 SGML,因此不需要對 DTD 進行引用,但是需要 DOCTYPE 來規范瀏覽器的行為(讓瀏覽器按照它們應該的方式來運 行)。
  • 而 HTML4.01 基於 SGML ,所以需要對 DTD 進行引用,才能告知瀏覽器文檔所使用的文檔類型。

4. SGML 、 HTML 、XML 和 XHTML 的區別?

  • SGML 是標准通用標記語言,是一種定義電子文檔結構和描述其內容的國際標准語言,是所有電子文檔標記語言的起源。
  • HTML 是超文本標記語言,主要是用於規定怎么顯示網頁。
  • XML 是可擴展標記語言是未來網頁語言的發展方向,XML 和 HTML 的最大區別就在於 XML 的標簽是可以自己創建的,數量無限多, 而 HTML 的標簽都是固定的而且數量有限。
  • XHTML 也是現在基本上所有網頁都在用的標記語言,他其實和 HTML 沒什么本質的區別,標簽都一樣,用法也都一樣,就是比 HTML 更嚴格,比如標簽必須都用小寫,標簽都必須有閉合標簽等。

5. DTD 介紹

  • DTD( Document Type Definition 文檔類型定義)是一組機器可讀的規則,它們定義 XML 或 HTML 的特定版本中所有允許元 素及它們的屬性和層次關系的定義。在解析網頁時,瀏覽器將使用這些規則檢查頁面的有效性並且采取相應的措施。
  • DTD 是對 HTML 文檔的聲明,還會影響瀏覽器的渲染模式(工作模式)。

7. 空元素定義

  • 標簽內沒有內容的 HTML 標簽被稱為空元素。空元素是在開始標簽中關閉的。
  • 常見的空元素有:br hr img input link meta

8. 你是如何理解語義化的?

  • 語義化,顧名思義,就是你寫的HTML結構,是用相對應的有一定語義的英文字母(標簽)表示的,標記的,因為HTML本身就是標記語言。不僅對自己來說,容易閱讀,書寫。別人看你的代碼和結構也容易理解,甚至對一些不是做網頁開發的人來說,也容易閱讀。那么,我們以后再開發的過程中,一定要注意了,盡量使用官方的有語義的標簽,不要再使用一堆無意義的標簽去堆你的結構。
  •  語義化,也無非就是自己在使用標簽的時候多使用有英文語義的標簽,比如h標簽,在HTML中就是就是用來定義標題,還有p標簽,英文是paragraph段落,table表格標簽,等等。

 

9. meta viewport 是做什么的?怎么寫?

  • 移動端瀏覽器通常都在一個比屏幕更寬的虛擬窗口中渲染頁面,這個虛擬窗口就是viewport,目的是正常展示沒有做移動端適配的網頁,可以讓他們完整的展現給用戶。我們有時用移動設備訪問桌面版網頁就會看到一個橫向滾動條,這里可顯示區域的寬度就是viewport的寬度。
  • <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

該meta標簽的作用是讓當前viewport的寬度等於設備的寬度,同時不允許用戶手動縮放。當然maximum-scale=1.0, user-scalable=0不是必需的,是否允許用戶手動播放根據網站的需求來定,但把width設為width-device基本是必須的,這樣能保證不會出現橫向滾動條。

  • meta viewport 的6個屬性:
width 設置layout viewport 的寬度,為一個正整數,或字符串”width-device”
initial-scale 設置頁面的初始縮放值,為一個數字,可以帶小數
minimum-scale 允許用戶的最小縮放值,為一個數字,可以帶小數
maximum-scale 允許用戶的最大縮放值,為一個數字,可以帶小數
height 設置layout viewport 的高度,這個屬性並不重要,很少使用
user-scalable 是否允許用戶進行縮放,值為”no”或”yes”, no 代表不允許,yes代表允許

 

10. 你用過哪些 HTML 5 標簽?

<article> 定義獨立的內容
<aside> 定義頁面內容之外的內容
<audio>   定義聲音內容
<bdi>    定義文本的文本方向,使其脫離其周圍文本的方向設置
<canvas> 定義圖形
<command> 定義命令按鈕
<datalist> 定義下拉列表
<details> 定義元素的細節
<embed> 定義外部交互內容或插件
<figcaption> 定義figure元素的標題
<figure>   定義媒介內容的分組,以及他們的標題
<footer> 定義section或page的頁腳
<header> 定義section或page的頁眉
<hgroup> 定義有關文檔中的section信息
<keygen> 定義生成密鑰
<mark> 定義有記號的文本
<meter> 定義預定義范圍內的度量
<nav> 定義導航鏈接
<output> 定義輸出的一些類型
<progress>  定義任何類型的任務的進度
<rp> 定義若瀏覽器不支持ruby元素顯示的內容
<rt>  定義ruby注釋的解釋
<ruby> 定義ruby注釋
<section> 定義section
<source> 定義媒介源
<summary> 定義details元素的標題
<time>   定義日期/時間
<track> 定義用在媒體播放器中的文本軌道
<video> 定義視頻

 

11. H5 是什么?

H5是HTML5的簡稱,就是“HTML”的第5個版本,也就是第5個版本的超文本標記語言。

12. 頁面導入樣式時,使用 link 和 @import 有什么區別?

  1. 從屬關系區別。@import是CSS提供的語法規則,只有導入樣式表的作用;link是HTML提供的標簽,不僅可以加載CSS文件,還可以定義RSS、rel連接屬性、引入網站圖標等。
  2. 加載順序區別。加載頁面時,link標簽引入的CSS文件被同時加載;而@import引入的CSS文件將在頁面加載完畢后被加載。
  3. 兼容性區別。@import時CSS 2.1才有的語法,故只可在IE5+才能識別;link標簽作為HTML標簽,不存在兼容性問題。
  4. DOM可控性區別。可以通過JS操作DOM,插入link標簽來改變樣式;由於DOM方法是基於文檔的,無法使用@import的方法插入樣式。

13. Label 的作用是什么?是怎么用的?

label 標簽來定義表單控制間的關系,當用戶選擇該標簽時,瀏覽器會自動將焦點轉到和標簽相關的表單控件上。

<label for="Name">Number:</label> 
<input type=“text“ name="Name" id="Name"/>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM