1.4 HTML5语法的新变化

为了兼容各个不统一的页面代码,HTML5的设计在语法方面做了以下变化。

1.4.1 标签不再区分大小写

标签不再区分大小写是HTML5语法变化的重要体现,例如:

     <!DOCTYPE html>
     <html>
     <head>
     <title>不再区别大小写标签</title>
     </head>
     <BODY>
     人到情多情转薄,而今真个不多情。
     </body>
     </html>

在IE 11.0浏览器中预览,效果如图1-11所示。

图1-11 网页预览效果

虽然“<BODY>人到情多情转薄,而今真个不多情。</body>”中开始标记和结束标记不匹配,但是这完全符合HTML5的规范。用户可以通过W3C提供的在线验证页面来测试上面的网页,验证网址为http://validator.w3.org/

1.4.2 允许属性值不使用引号

在HTML5中,属性值不放在引号中也是正确的。例如以下代码片段:

     <input checked="a" type="checkbox"/>
     <input readonly type="text"/>
     <input disabled="a" type="text"/>

上述代码片段与下面的代码片段效果是一样的:

     <input checked=a type=checkbox/>
     <input readonly type=text/>
     <input disabled=a type=text/>

注意:虽然HTML5允许属性值可以不使用引号,但是仍然建议读者加上引号。因为如果某个属性的属性值中包含空格等容易引起混淆的属性值,此时可能会引起浏览器的误解。例如以下代码:

     <img src=ss ch01/1.1.jpg />

此时浏览器就会误以为src属性的值就是ss,这样就无法解析路径中的1.1.jpg图片。如果想正确解析到图片的位置,只有添加上引号。

1.4.3 允许部分属性值的属性省略

在HTML5中,部分标志性属性的属性值可以省略。例如,以下代码是完全符合HTML5规则的:

     <input checked type="checkbox"/>
     <input readonly type="text"/>

其中,checked="checked"省略为checked,而readonly="readonly"省略为readonly。

在HTML5中,可以省略属性值的属性如表1-3所示。

表1-3 可以省略属性值的属性