第2章 HTML 5与HTML 4的区别
2.1 语法的改变
2.2 新增的元素和废除的元素
2.3 新增的属性和废除的属性
2.4 全局属性
HTML 5以HTML 4为基础,对HTML 4进行了大量的修改。本章从总体上概要介绍到底HTML 5对HTML 4进行了哪些修改,HTML 5与HTML 4之间比较大的区别是什么。
学习内容:
掌握HTML 5与HTML 4在基本语法上有什么区别,这个基本语法区别包括DOCTYPE声明、内容类型(ContentType)、字符编码的指定方法、元素标记的省略、具有布尔值的属性、引号的省略等几个方面。
了解在HTML 5中新增了哪些元素,删除了哪些HTML 4中的元素,为什么要删除这些元素,用什么元素或方法来取代这些被删除的元素。
了解在HTML 5中新增了哪些属性,删除了哪些HTML 4中的属性,在HTML 5中用什么方法来取代这些被删除的属性。
掌握什么是全局属性,掌握本章中介绍的几个常用全局属性,它们是contentEditable属性、designMode属性、hidden属性、spellcheck属性,以及tabindex属性。
2.1 语法的改变
2.1.1 HTML 5的语法变化
与HTML 4相比,HTML 5在语法上发生了很大的变化。可能有很多人会有疑问,"之前的HTML已经相当普及了!","如果改变基础语法,会产生什么影响?"等。
但是,HTML 5中的语法变化,与其他开发语言中的语法变化在根本意义上有所不同。它的变化,正是因为在HTML 5之前几乎没有符合标准规范的Web浏览器!
HTML的语法是在SGML(Standard Generalized Markup Language)语言的基础上建立起来的。但是SGML语法非常复杂,要开发能够解析SGML语法的程序也很不容易,所以很多浏览器都不包含SGML的分析器。因此,虽然HTML基本上遵从SGML的语法,但是对于HTML的执行在各浏览器之间并没有一个统一的标准。
在这种情况下,各浏览器之间的互兼容性和互操作性在很大程度上取决于网站或网络应用程序的开发者们在开发上所做的共同努力,而浏览器本身始终是存在缺陷的。
如上所述,在HTML 5中提高Web浏览器之间的兼容性是它的一个很大的目标,为了确保兼容性,就要有一个统一的标准。因此,在HTML 5中,就围绕着这个Web标准,重新定义了一套在现有的HTML的基础上修改而来的语法,使它运行在各浏览器时各浏览器都能够符合这个通用标准。
因为关于HTML 5语法解析的算法也都提供了详细的记载,所以各Web浏览器的供应商们可以把HTML 5分析器集中封装在自己的浏览器中。最新的Firefox(默认为4.0以后的版本)与WebKit浏览器引擎中都迅速地封装了供HTML 5使用的分析器,IE(Internet Explorer)与Opera也在努力加快对于HTML 5的支持-浏览器兼容性的提高指日可待。
接下来,让我们具体看一下在HTML 5中,到底对语法进行了哪些改变。