App下載

如何區(qū)別html和html5?從HTML文檔聲明說起。

猿友 2021-06-28 14:40:00 瀏覽數(shù) (2918)
反饋

許多小伙伴在學習前端的時候會了解到什么是HTML,但在互聯(lián)網(wǎng)上沖浪的時候發(fā)現(xiàn)當前前端技術最火的并不是HTML,而是H5。于是很多小伙伴就開始納悶了,到底什么是H5。其實啊,H5就是HTML5的意思,也就是第五代的HTML標準。那么如何區(qū)別HTML和HTML5呢?接下來小編告訴你。

先下結論,有<!doctype html>的都是H5

沒錯,因為這是官方規(guī)定的,哪怕你的文檔中夾雜著很多HTML5不再支持的代碼,那也是HTML5。一切的一切,都要從xml說起。

HTML和xml的關系

HTML被稱為超文本標記語言,而xml則被稱為可拓展標記語言,其實他們是一家,他們都來自一門叫SGML(標準通用標記語言)。這門語言使用帶有尖括號的標簽來標記一些內(nèi)容,于是借鑒他們,提出了專門用于展示的HTML和專門給機器使用的xml。為什么要在一篇介紹html的文章里介紹xml呢?因為html和xml是有相互借鑒的,其中HTML就有借鑒了xml的DTD,這個DTD就是確定HTML版本的關鍵。

 關于xml和html,他們產(chǎn)生了一點交集,那就是XHTML,他具有XML的嚴格標準和HTML的表現(xiàn)力(其實本質上還是html,只不過對標簽的使用更加嚴格罷了)

HTML的DTD

DTD,中文解釋為文檔類型定義,在xml中用來定義標簽的類型,而在早期的HTML中也存在這樣的DTD,以下是一些HTML的DTD,可以看到,DTD中會攜帶版本類型,通過這個版本類型可以知道當前用的html是第幾代的HTML(但是HTML5是個特例,他直接使用?<!doctype html>?)??梢院芎唵蔚膮^(qū)分出HTML和HTML5。

//用于XHTML 4.0 的嚴格型
<!DOCTYPE HTMLPUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
//用于XHTML 4.0 的過渡型
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
//用于XHTML 1.0 的嚴格型
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
//用于XHTML 1.0 的過渡型
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

HTML和H5的區(qū)別

從DTD上區(qū)分HTML和H5是一個簡單的方法,但有些開發(fā)者因為各種原因,可能沒有寫DTD(瀏覽器會按照默認的方式去解析,比如如果瀏覽器默認按h5解析的話,哪怕代碼是HTML4.0,也按照HTML5解析),又或者貪圖省事直接用H5的寫法進行文檔聲明(HTML5是在之前的HTML基礎上添加了一些新的元素,所以兼容大部分的舊元素),這時候從DTD上就看不出了。其實還有一個最根本的方法。就是看標簽。

DTD的作用是定義這個HTML文檔可以使用哪些標簽,而接下來的這種方法也是同理。有些標簽是H5獨有的(比如video,cavas,article),而有些標簽是H5廢棄的(比如applet,center)。只要在代碼中找到這些標簽,就可以確定代碼是不是HTML5。

  • 有兩種特殊情況,一種是代碼里完全沒有出現(xiàn)這類特殊標簽,即使用的標簽是前后版本都有的,這種情況下你可以認為它是h5,也可以認為他是html4(或者其他版本),但是不能說他不是h5(因為人家也遵循h(huán)5)。
  • 另一種情況是代碼里兩種標簽都有出現(xiàn),這種情況只能說明開發(fā)人員水平尚待提高,或者項目需要維護了。
  • 關于HTML5新增與廢棄標簽,可以參考HTML5參考手冊

小結

其實對于初學者而言并不用太多糾結html和html5的關系與區(qū)別,現(xiàn)在大多數(shù)的前端教程教授的都是HTML5,被廢棄的標簽也很少見到了(雖然他們?nèi)匀豢梢陨?,雖然后端開發(fā)的時候偶爾用這種標簽會比較輕松),所以并不用擔心自己學的是過時的技能,也不用擔心自己不會H5會不會影響到以后找工作。因為當你學習HTML5時,你會發(fā)現(xiàn)——很多標簽就是換了個名(標簽語義化),實際要學的新標簽只有一部分。等到這個時候,你就會發(fā)現(xiàn)為啥小編說不用糾結html和h5的區(qū)別了。

HTML5基礎入門課程,了解更多H5知識。


0 人點贊