HTML5语法中需要掌握的3个要点
HTML5中规定的语法,在设计上兼顾了与现有HTML之间最大程度的兼容性。
例如,在Web上充斥着“<p>没有结束标签”等HTML现象。HTML5不将这些视为错误,反而采取了“允许这些现象存在,并明确记录在规范中”的方法。
因此,尽管与XHTML相比标记比较简洁, 而在遵循HTML5的Web浏览器中也能保证生成相同的DOM。
那么下面就来看看具体的HTML5语法。
□ 【1】可以省略标签的元素
在HTML5中,有些元素可以省略标签。
具体来讲有3种情况,请看如下列表:
① 必须写明结束标签
area、base、br、col、command、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的新元素。有关这些新元素的用法,将在本系列的后续文章中加以说明,敬请关注。
□ 【2】取得boolean值的属性
取得布尔值(Boolean)的属性,例如disabled和readonly等,通过省略属性的值来表达“值为true”。如果要表达“值为false”,则直接省略属性本身即可。
此外,在写明属性值来表达“值为true”时,可以将属性值设为属性名称本身,也可以将值设为空字符串。
请看下例:
<!-- 以下的checked属性值皆为true --><input type="checkbox" checked><input type="checkbox" checked="checked"><input type="checkbox" checked="">
□ 【3】省略属性的引用符
设置属性值时,可以使用双引号或单引号来引用。
HTML5语法则更进一步,只要属性值不包含空格、“<”、“>”、“''”、“"”、“`”、“=”等字符,都可以省略属性的引用符。
请看下例。
<!-- 请观察type属性的引用符 -->
<input type="text">
<input type=''text''>
<input type=text>