是乙個用於宣告當前html版本,用來告知web瀏覽器該文件使用是哪種 html 或者 xhtml 規範來解析頁面,以便瀏覽器更加準確的理解頁面內容,更加良好地展現內容效果!
1. 標籤沒有結束標籤;
2.宣告被所有主流瀏覽器支援;
3.宣告不是乙個html標籤,在html5中是可以不區分大小寫的;
4.宣告必須位於html文件中最前面,處於標籤之前;
注:html4.01是基於sgml(標準通用標記語言)的,需要以宣告引用乙個dtd(文件型別定義),用來保證瀏覽器按照dtd指定的標記規則解析網頁內容!html5不基於sgml,所以不需要指定dtd。
宣告的前面是沒有任何內容的,如果有其他內容(空格除外)就會使瀏覽器在 ie下開啟怪異模式渲染網頁;如果瀏覽器進入怪異模式,就會按自己的方式解析渲染頁面。那麼,在不同的瀏覽器下,顯示的樣式效果會不一致。
如果不寫文件doctype宣告,瀏覽器將無法獲知html或xhtml文件的型別,也會進入怪異模式;還有在ie6以下版本永遠進入怪異模式;
但是,只要我們對文件doctype做了正確的宣告,瀏覽器就會進入標準模式;瀏覽器會按照w3c的標準來解析渲染頁面,那麼,在所有的瀏覽器下,顯示的樣式效果會保持一致。因此, 宣告還是很有必要的。
若文件為標準模式,則該文件的排版與js運作模式都是以該瀏覽器支援的最高標準執行;
相容模式中,頁面以寬鬆的向後相容的方式顯示,模擬老式瀏覽器的行為以防止站點無法工作。
html中常見宣告型別共有8種,分別是html5有1種,html 4.01和xhtml 1.0都有3種,xhtml 1.1有1種,它們的寫法如下:
1.html5 宣告——》
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,但允許新增模型。
html版本經過了幾次的公升級,每次公升級都會棄用一些不適用的舊標籤,而增加某些新的html標籤。因此,對於不同html版本的doctype文件型別宣告,能合法使用的html標籤也是有所不同。比如:
和標籤,能在html5中能使用,而在html 4.01和xhtml中就不能使用;
標籤,在html5和xhtml1.0版本中是不可用的,而在html4.01和xhtml1.1的宣告中,只有transitional和frameset是可用的!由此可見,宣告的html版本,也決定了哪些html標籤可以合法使用!
關於html中的doctype宣告
相信初學html的大家總會在 的第一行看到類似的 但這行 究竟有什麼用呢?為什麼我刪掉它後 仍然正常,它是不是沒有用?doctype是乙個宣告,是為了告訴標準通用標記語言解析器,它應該使用什麼樣的文件型別定義 dtd 來解析文件。對於網頁來說,每個網頁的製作並不都是遵循標準來創作,即便你不能敲出標準...
HTML中的doctype宣告含義
1.宣告位於文件中的最前面的位置,處於之前 2.宣告不是乙個html標籤 它是用來告訴瀏覽器頁面使用了哪種html版本 3.標籤沒有結束標籤 4.宣告不區分大小寫。在html 4.01 中,宣告需引用 dtd 文件型別宣告 因為 html 4.01 是基於 sgml standard general...
HTML 中Doctype簡單解析
public w3c dtd xhtml 1.0 frameset en 其中doctype物件定義了文件的根元素是html,它在公共識別符號被定義為 w3c dtd xhtml 1.0 strict en 的 dtd 中進行了定義。瀏覽器將明白如何尋找匹配此公共識別符號的 dtd。如果找不到,瀏覽...