常州市新北区典雅商业广场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)成为历史。