HTML4与HTML5之间的10个本质区别
HTML5是目前最新的HTML规范,每一个web开发人员将会发现自己需要使用这项新的标准工作。而且,其中很多人会发现,由于HTML4与HTML5之间的区别,新建一个HTML5的网站远比从HTML4往HTML5上迁移来的容易。
事实上,HTML5并没有对HTML4做非常重大的调整,而且两者之间有很多相似的地方。
虽然如此,两者之间的主要区别仍然需要注意。下面是HTML4与HTML5之间的主要区别(并不是全部,全部列出来是不可能的):
1、HTML5仍然是一个制定中的标准
这第一个区别显而易见,但是也是非常重要的一个,我们从它开始。你也许已经看到了到处都有很多关于HTML5很酷的言论,但是这些都无法改变HTML5依然是一个制定中的标准的事实。HTML4也许已经超过10岁了,但是,它作为正式标准的事实一直没变。
另一方面,HTML5仍然处在初级阶段,预期会发生很多变化。你必须把这些因素考虑进来,因为你在网站上使用的这些新增加或修改的网页元素会每年都会发生多次变化,你需要不停的更新升级你的网站,这可不是你希望的。这就是为什么到目前为止,最好在产品里使用HTML4,只在实验里使用HTML5的原因。
2、简化的语法
更简单的doctype声明是HTML5里众多新特征之一。现在,只需要写<!doctype html>就好了。HTML5的语法兼容HTML4和XHTML1,但不兼容SGML。
3、新的<canvas>标记代替flash
对于Web用户来说,Flash既是惊喜也是一种痛苦。所以,一些开发人员对HTML5威胁Flash的做法不满,但对于那些忍受着要花好久才能加载和运行的臃肿的Flash视频的人来说,用新的<canvas> 标记渲染图像的技术已经梦想成真。
目前,<canvas> 标记并不能提供所有的Flash具有的功能,但假以时日,其必将Flash从web上淘汰!我们拭目以待,因为很多人对此表示怀疑。
4、新的<header>与<footer>标记
HTML5的设计是要更好的描绘网站的解剖结构。这就是为什么一些像<header>和<footer> 这样的新标记会出现,它们是专门为标志网站的这些部分设计的。
在开发网站时,你不再需要用<div>标记来标注网页的这些部分。
5、新的<section>与<article>标记
跟<header>与<footer>标记相似,HTML5中引入的新的<section> 和<article> 标记可以让开发人员更好的标注页面上的这些区域。
据推测,除了让代码更有组织外,它也能改善SEO效果,能让搜索引擎更容易的分析你的页面。
6. 新的<menu> 和<figure> 标记
新的<menu>标记可以被用作普通的菜单,也可以用在工具条和右键菜单上,虽然这些东西在页面上并不常用。
同样,新的<figure> 标记是一种更专业的管理页面上文字和图像的方式。当然,你可以用样式表来控制文字和图像,但使用HTML5内置的这个标记更适合。
7. 新的<audio> 和<video> 标记
新的<audio> 和<video> 标记可能是HTML5中增加的最有用处的两个东西了。正如标记名称,它们是用来嵌入音频和视频文件的。
除此之外还有一些新的多媒体的标记和属性,例如<track>,它是用来提供跟踪视频的文字信息的。有了这些标记,HTML5使Web2.0特征变得越来越友好。问题在于,在HTML5还未被广泛的接受之前,Web2.0还是原来的Web2.0。
8. 表单的全新水平
新的<form> 和<forminput> 标记对原有的表单元素进行的全新的修改,它们有很多的新属性(以及一些修改)。如果你经常的开发表单,你应该花时间更详细的研究一下。
9. 不再使用<b> 和<font> 标记
对我个人来说,这是一个让我不太理解的改动。我并不认为去除<b> 和<font>标记会带来多大的好处。我知道,官方的指导说这些标记可以通过CCS来做更好的处理,但这样一来,为了在文章一两个地方出现的这种标记,你就需要在独立的css和文本两个地方来实现这一的功能,岂不笨拙。也许我们以后会习惯这种方法。
10. 不再使用<frame>, <center>, <big> 标记
事实上,我已经记不清曾经何时用过这些标记了,所以,我并不为去除这些标记感到悲哀。相同的原因,有更好的标记能实现它们的功能——这很好,任何作废的标记从标准中剔除都是受欢迎的。
这10个HTML5和HTML4之间的不同只是整个新的规范中的一小部分。除了这些主要的变动外,我还可以略提一下一些次要的改动,比如修改了<ol> 标记的属性,让它能够倒排序,对<u>标记也做了修改。
所有这些次要的改动数量众多。而且新的修改也在不断的增加,因此,如果你想实时跟踪最新的动向,你需要经常的查看w3.org的HTML4 和HTML5之间的不同这个页面。如果你很心急,想在你的工作中使用这些新的标记和属性,我劝告你最好只是做实验,原因已经说的很清楚了,这些新标记和新属性在将来也许会有很大的改变,所以,除非你不断的更新你的代码,它们很可能会过期失效。
尽管如今大多数流行的浏览器的最新版都支持HTML5,但有些新的(或修改的)标记和属性它们并不支持,所以你的网页在用户的屏幕上有可能前后显示的不一致。耐心等待,等待HTML5真正可以实用时候。目前还不是时候。
译注:尽量尊重原文,并作了一部分意译,如有不当,敬请指教!
本文翻译自:http://www.developerdrive.com/2011/08/10-essential-differences-between-html4-and-html5/
摘自 宁静深远的专栏
补充:web前端 , HTML 5 ,