前端面試題歸類-HTML2

肥晨發表於2021-01-01

一、 SGML HTML XML XHTML 的區別?

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

二、DTD 介紹

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

. 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代表允許

. 你用過哪些 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>

定義視訊

 

五、 H5 是什麼?

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

六、 頁面匯入樣式時,使用 link @import 有什麼區別?

  1. html頁引用css的三種,一是頁內的style標籤,二是link外鏈;三是@import匯入
  2. @import是CSS提供的語法規則,只有匯入樣式表的作用;link是HTML的標籤,不僅可以載入CSS檔案,還可以定義RSS、rel連線屬性、引入網站圖示等。
  3. 載入順序區別。載入頁面時,link外鏈的檔案會與文件同步載入,而@import則是等待文件載入完成後才載入。
  4. 相容性區別。@import是CSS 2.1才有的語法,低版本瀏覽器不支援;link標籤沒有相容問題。
  5. DOM可控性區別。可以通過JS操作DOM,插入link標籤來改變樣式;由於DOM方法是基於文件的,無法使用@import的方法插入樣式。

七、 Label 的作用是什麼?是怎麼用的?

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

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

八、div模擬textarea

contenteditable屬性,值為布林值,為true時可以編輯。

<div contenteditable="true">可以編輯裡面的1內容</div>   

九、web標準及w3c的理解和認識

    標籤閉合、標籤小寫、不亂巢狀、提高搜尋機器人搜尋機率、使用外鏈 css 和 js 指令碼、結構行為表現的分離,

檔案下載與頁面速度更快、內容能被更多的使用者所訪問、內容能被更廣泛的裝置所訪問、更少的程式碼和元件,

容易維護、改版方便,不需要變動頁面內容、提供列印版本而不需要複製內容、提高網站易用性。

十、離線快取與傳統瀏覽器快取區別

①離線快取是針對整個應用,瀏覽器快取是單個檔案

②離線快取斷網了仍可以開啟快取的頁面,瀏覽器快取不行

③離線快取有網也會優先使用快取資源,但可以主動通知瀏覽器更新資源

相關文章