HTML5 中规定的语法,在设计上兼顾了与现有HTML之间最大程度的兼容性。例如,在Web上充斥着“<p>没有结束标签”等HTML现象。HTML5不将这些视为错误,反而采取了“允许这些现象存在,并明确记录在规范中”的方法。因此,尽管与XHTML相比标记比较简洁, 而在遵循HTML5的Web浏览器中也能保证生成相同的DOM。

那么下面就来看看具体的HTML5语法。

可以省略标签的元素

在HTML5中,有些元素可以省略标签。具体来讲有3种情况, 不允许写结束标记的元素有 area、base、br、col、ommand、embed、hr、img、 input、keygen、link、meta、param、source、track、 wbr
不允许写结束标记的元素是指,不允许使用开始标记与结束标 记将元素括起来的的形式,只允许使用““<元素/>”的形式进行 书写。例如: “<br>…</br>”的写法是错误的。应该写成 “<br/>”。当然,沿袭下来的“<br>”这种写法也是允许的。

可以省略结束标签

li、dt、dd、p、rt、rp、optgroup、option、colgroup、 thead、tbody、tfoot、tr、td、th 可以省略整个标签(即连开始标签都不用写明) html、head、body、colgroup、tbody需要注意的是,虽然 这些元素可以省略,但实际上却是隐式存在的。例如“<body>” 标签可以省略,但在DOM树上它是存在的,可以永恒访问 “document.body”。上述元素中也包括了HTML5的新元素。有 关这些新元素的用法,将在后面的章节中详细讲解。

取得布尔值(Boolean)的属性,例如disabled和readonly等,通 过省略属性的值来表达“值为true”。如果要表达“值为false”,则直接省 略属性本身即可。此外,在写明属性值来表达“值为true”时,可以将属 性值设为属性名称本身,也可以将值设为空字符串。如下列所示:
<!-- 以下的checked属性值皆为true -->
<input type="checkbox" checked>
<input type="checkbox" checked="checked">
<input type="checkbox" checked="">

省略属性的引用符

设置属性值时,可以使用双引号或单引号来引用。HTML5语 法则更进一步,只要属性值不包含空格、“<”、“>”、“'”、“"” 、“`”、“=”等字符,都可以省略属性的引用符。如下例所示。
<!—请注意type属性的引用符 -->
<input type="text">
<input type='text'>
<input type=text>


本文来自:http://www.html5org.com/article-242-1.html