常州市新北區典雅商業廣場2號樓501、502、525、526
HTML5在語法方面要比XHTML松散很多:比如,你可以用純大寫或小寫字母書寫標簽,甚至大小寫混用也無妨。你無需對img這類的標簽做自封閉處理(self-close),因此下面這兩種寫法都是合法的:
標簽屬性也無需用雙引號括起來,因此下面這兩種寫法都是合法的:
使用大寫或小寫(甚至混用)字母都可以,所以下面三種寫法也都是合法的:
這與HTML4毫無差異,但是如果你用習慣了XHTML,你碰到這種寫法時還是會很震驚的。現實中,如果你使用HTML和文本內容書寫頁面,而非使用XML(你極有可能是混用文本和HTML書寫頁面的,因為IE8并不能真正的渲染XHTML頁面),那么上述細微差別也無關緊要:瀏覽器會忽略尾部的斜杠,雙引號,以及大小寫。
HTML5語法看似松散,但實際的解析規則要嚴格的多。因而HTML5中,常見的書寫錯誤(Tag Soul)將不復存在;HTML5的規范對這些無效標記做精確的描述和定義,因此所有遵循規范的瀏覽器都會生成同樣的文檔對象模型(DOM)。如果你曾寫過JavaScript來遍歷DOM,那么你就會對DOM不一致所帶的恐怖經歷有所體會。
但這種修正不應導致無效代碼泛濫。HTML5為你創建的DOM可能并不是你想要的那個,因此對書寫的HTML5代碼進行驗證仍然至關重要。隨著新特性的大量涌入,對細小語法錯誤的忽視會讓你的腳本失效,或是CSS樣式出錯,這也是我們為什么需要HTML5驗證器的原因之所在。
HTML5遠不僅僅只是讓一些常見的書寫錯誤合法化,而且讓這些常見錯誤(Tag soup)成為歷史。