一、DOCTYPE標簽的定義與作用
<!DOCTYPE>是一個用於聲明當前HTMl版本,用來告知web瀏覽器該文檔使用是哪種 HTML 或者 XHTML 規范來解析頁面,以便瀏覽器更加准確的理解頁面內容,更加良好地展現內容效果!
二、DOCTYPE標簽的特點
1.<!DOCTYPE> 標簽沒有結束標簽;
2.<!DOCTYPE>聲明被所有主流瀏覽器支持;
3.<!DOCTYPE>聲明不是一個HTML標簽,在HTML5中是可以不區分大小寫的;
4.<!DOCTYPE>聲明必須位於HTML文檔中最前面,處於<html>標簽之前;
注:HTML4.01是基於SGML(標准通用標記語言)的,需要以<!DOCTYPE>聲明引用一個DTD(文檔類型定義),用來保證瀏覽器按照DTD指定的標記規則解析網頁內容!HTML5不基於SGML,所以不需要指定DTD。
三、DOCTYPE與瀏覽器模式
1.聲明與否的影響
<!DOCTYPE>聲明的前面是沒有任何內容的,如果有其他內容(空格除外)就會使瀏覽器在 IE下開啟怪異模式渲染網頁;如果瀏覽器進入怪異模式,就會按自己的方式解析渲染頁面。那么,在不同的瀏覽器下,顯示的樣式效果會不一致。
如果不寫文檔DOCTYPE聲明,瀏覽器將無法獲知HTML或XHTML文檔的類型,也會進入怪異模式;還有在IE6以下版本永遠進入怪異模式;
但是,只要我們對文檔DOCTYPE做了正確的聲明,瀏覽器就會進入標准模式;瀏覽器會按照W3C的標准來解析渲染頁面,那么,在所有的瀏覽器下,顯示的樣式效果會保持一致。因此, <!DOCTYPE>聲明還是很有必要的。
2.標准模式和兼容模式
若文檔為標准模式,則該文檔的排版與JS運作模式都是以該瀏覽器支持的最高標准運行;兼容模式中,頁面以寬松的向后兼容的方式顯示,模擬老式瀏覽器的行為以防止站點無法工作。
四、DOCTYPE常見聲明類型
HTML中<!DOCTYPE>常見聲明類型共有8種,分別是html5有1種,HTML 4.01和XHTML 1.0都有3種,XHTML 1.1有1種,它們的寫法如下:
1.HTML5 <!DOCTYPE>聲明——》<!doctype html>
2.HTML 4.01和XHTML 1.0
strict包含所有 HTML 元素和屬性,但不包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)。
transitional該 DTD 包含所有 HTML 元素和屬性,包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)。
framesets該 DTD 等同於 HTML 4.01 Transitional,但允許框架集內容。
3.XHTML 1.1規定了一種聲明, 等同於 XHTML 1.0 Strict,但允許添加模型。
五、DOCTYPE對HTML標簽的影響
html版本經過了幾次的升級,每次升級都會棄用一些不適用的舊標簽,而增加某些新的html標簽。因此,對於不同html版本的doctype文檔類型聲明,能合法使用的html標簽也是有所不同。比如:
<article>和<aside>標簽,能在html5中能使用,而在HTML 4.01和XHTML中就不能使用;
<center>標簽,在html5和XHTML1.0版本中是不可用的,而在HTML4.01和XHTML1.1的<!DOCTYPE>聲明中,只有Transitional和Frameset是可用的!由此可見,<!DOCTYPE>聲明的html版本,也決定了哪些html標簽可以合法使用!
以上內容原文轉自(https://www.liudaima.com/a/45.html),如有侵權,聯系刪除