HTML5语法中需要掌握的3个要点
HTML5中规定的语法,在设计上与现有HTML之间进行了最大程度的兼容性。
例如,在Web上充斥着“<p>没有结束标签”等HTML现象。HTML5不将这些视为错误,反而采取了“允许这些现象存在,并明确记录在规范中”的方法。因此,尽管与XHTML相比标记比较简洁,
而在遵循HTML5的Web浏览器中也能保证生成相同的DOM。那么下面就来看看具体的HTML5语法。
可以省略标签的元素
在HTML5中,有些元素可以省略标签。具体来讲有如下3种情况。
(1)不允许写结束标记的元素有area、base、br、col、command、embed、hr、img、input、keygen、link、meta、param、source、track、wbr。
不允许写结束标记的元素是指不允许使用开始标记与结束标记将元素括起来的的形式,
只允许使用“<元素/>”的形式进行书写。例如,“<br>…</br>”的写法是错误的。
应该写成“<br/>”。但是,沿袭下来的“<br>”这种写法也是允许的。
(2)可以省略结束标签的元素有li、dt、dd、p、rt、rp、optgroup、option、colgroup、thead、tbody、tfoot、tr、td、th。
(3)可以省略整个标签的元素有html、head、body、colgroup、tbody。
注意
虽然这些元素可以省略,但实际上却是隐式存在的。
例如,<body>标签可以省略,但在DOM树上它是存在的,可以永恒访问到document.body。
上述列表中也包括了HTML5的新元素。
取得boolean值的属性
取得布尔值(Boolean)的属性,例如disabled和readonly等,
通过省略属性的值来表达“值为true”。如果要表达“值为false”,则直接省略属性本身即可。
此外,在写明属性值来表达“值为true”时,可以将属性值设为属性名称本身,
也可以将值设为空字符串。代码如下。
<!-- 以下的checked 属性值皆为true -->
<input type="checkbox" checked>
<input type="checkbox" checked="checked">
<input type="checkbox" checked="">