本節書摘來自異步社群《web前端開發精品課 html與css進階教程》一書中的第1章,第1.2節,作者: 莫振傑 更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
很多新手往往分不清html、xhtml和html5,這一節給大家詳細講解一下這三者的關系和差別。
1.2.1 html和xhtml
html,全稱hypertext mark-up language(超文本标記語言),是構成網頁文檔的主要語言。我們常說的html指的是html 4.01。
xhtml,全稱extensible hypertext mark-up language(擴充的超文本标記語言),它是xml風格的html 4.01,我們可以稱之為更嚴格、更純淨的html 4.01。
html文法書寫比較松散,利于開發者編寫。但是對于機器,如電腦、手機等來說,文法越松散,處理起來越困難。是以為了讓機器更好地處理html,我們才在html基礎上引入了xhtml。
xhtml相對于html來說,在文法上更加嚴格。xhtml和html主要差別如下。
1.xhtml标簽必須閉合。
在xhtml中,所有标簽必須閉合,例如"

'“
”等。此外,空标簽也需要閉合,例如< br>要寫成< br/>。
錯誤寫法:< p >歡迎來到綠葉學習網
正确寫法:< p >歡迎來到綠葉學習網 p >
2.xhtml标簽以及屬性必須小寫。
在xhtml中,所有标簽以及标簽屬性必須小寫,不能大小寫混合,也不能全部都是大寫。不過标簽的屬性值可以大寫。
錯誤寫法:< body >< div > div > body >
正确寫法:< body >< div > div > body >
3.xhtml标簽屬性必須用引号。
在xhtml中,标簽屬性值必須用引号括起來,單引号、雙引号都可以。
4.xhtml标簽用id屬性代替name屬性。
在xhtml中,除了表單元素之外的所有元素,都應該用id而不是name。
下面是一個完整的xhtml文檔。
1.2.2 html5
html指的是html 4.01,xhtml是html的過渡版本,xhtml是xml風格的html 4.01。而html 5指的是下一代的html,也就是html 4.01的更新版。
不過html 5已經不再是單純意義上的标簽了,它已經遠遠超越了标簽的範疇。html 5除了新增部分标簽之外,還增加了一組技術,包括canvas、svg、websocket、本地存儲等。這些新增的技術都是使用javascript來操作。也就是說,html 5使得html從一門“标記語言”轉變為一門“程式設計語言”。
對于html 5中的新技術,在此不做詳細介紹。單純從新增的标簽上來看,html 5有以下幾個特點。
1.文檔類型說明
基于html 5設計準則中的“化繁為簡”原則,頁面的文檔類型被極大地簡化了。
xhtml文檔聲明如下:
html5文檔聲明如下:
2.标簽不再區分大小寫
上面這種寫法也是完全符合html5規範的。但是在實際開發中,建議所有标簽以及屬性都采用小寫方式。
3.允許屬性值不加引号
上面這種寫法也是完全符合html5規範的。但是在實際開發中,建議标簽所有屬性值都加引号,單引号或雙引号都可以。
4.允許部分屬性的屬性值省略
在html5中,部分具有特殊性屬性的屬性值是可以省略的。例如,下面代碼是完全符合html 5規範的:
上面兩句代碼等價于:
在html 5中,可以省略屬性值的屬性如表1-1所示。
一句話概括html、xhtml和html 5就是:html指的是html 4.01,xhtml是html的過渡版,html 5是html的更新版。