HTML 4和HTML 5的主要区别是什么?
HTML4和HTML5草稿之间的主要区别是什么?
请保留与更改的语法相关的答案,并添加/删除html元素。
HTML5有几个不同于HTML4的目标。
处理格式错误的文件的一致性
主要的是一致的,定义的error handling 。 如您所知,HTML特意支持“标签汤”,或者编写格式错误的代码并将其更正为有效的文档。 问题是,这样做的规则不会写在任何地方。 当一个新的浏览器供应商想要进入市场时,他们只需要在各种浏览器(特别是IE)中testing格式错误的文档,并对其error handling进行反向工程。 如果他们不这样做,那么许多页面将无法正确显示(估计网页上大约90%的页面至less有些不正常)。
所以,HTML5试图发现和编纂这种error handling方式,这样浏览器开发人员就可以标准化并大大减less显示事物所需的时间和金钱。 而且,在将HTML作为文档格式去世之后的将来,历史学家可能仍然希望阅读我们的文档,并且具有完全定义的分析algorithm将极大地帮助这一点。
更好的Web应用程序function
HTML5的次要目标是通过HTML,CSS和Javascript开发浏览器作为应用程序平台的能力。 许多元素已直接添加到当前(以HTML4为基础)Flash或基于JS的黑客(如<canvas>
, <video>
和<audio>
。 有用的东西,如本地存储(一个js可访问的浏览器内置的键值数据库,用于存储超出cookie可以容纳的信息),新的inputtypes,如date,浏览器可以暴露简单的用户界面(所以,我们不必使用我们基于js的日历dateselect器),而且支持浏览器的表单validation将使开发人员的开发Web应用程序变得更简单,并且使用户更快(因为许多事情将在本地支持,而不是通过JavaScript黑客入侵)。
改进的元素语义
在HTML5中还有许多其他更小的努力,例如为现有元素定义更好的语义angular色( <strong>
和<em>
现在实际上意味着不同的东西,甚至<b>
和<i>
都应该有模糊的语义以及parsing遗留文档时),并添加有用语义的新元素 – <article>
, <section>
, <header>
, <aside>
和<nav>
应该replace网页上使用的大部分<div>
你的页面有点语义,但更重要的是, 更容易阅读 。 没有更多的痛苦的扫描,看看什么是随机的</div>
正在closures – 而是有一个明显的</header>
或</article>
,使文档的结构更直观。
维基百科 :
- 新的parsing规则,面向灵活的parsing和兼容性
- 新元素 – 部分,video,进度,导航,仪表,时间,旁边,canvas
- 新的input属性 – date和时间,电子邮件,url
- 新的属性 – 平,字符集,asynchronous
- 全局属性(可以应用于每个元素) – id,tabindex,repeat
- 弃用的元素下降 – 中心,字体,罢工
你会想在这里检查完整的差异。 但是有很多新元素和元素属性。 有些元素被删除,其他元素的语义值比以前有所不同。 还定义了一些API,例如使用canvas来帮助构build下一代Web应用程序,并确保实现的标准化。
HTML5引入了许多有助于创buildWeb应用程序的API。 这些可以与为应用程序引入的新元素一起使用:
- 用于播放可与新的video和audio元素一起使用的video和audio的API。
- 一个启用离线Web应用程序的API。
- 允许Web应用程序为特定协议或媒体types注册的API。
- 编辑API与新的全局
contenteditable
属性相结合。 - 拖放API与
draggable
属性的组合。 - 公开历史logging并允许页面添加到其中以防止中断后退button的API。
您可能对此HTML5元素和属性列表感兴趣。
另外请注意,它是“HTML 4”,而不是“HTML4”。 事实上,对于HTML 5,这两种变体都被使用,但是在意义上有一个重要的区别。 HTML 5引用了W3C规范的名称,而“HTML5”是符合此规范的具有text/html
MIMEtypes的HTML文件的文档types。 XHTML 5和XHTML5也是如此。
现在W3C在他们的网站上提供了官方的区别:
HTML 5邀请您为代码添加大量的语义值。 而且,还有本地化解决scheme来embedded多媒体内容。
其余的部分很重要,但更多的是技术性的糖,可以帮助您避免使用客户端编程语言做同样的事情。
简而言之,它比html更简单,长的文档types被删除,中心和字体标签被删除。 我也在我的博客中回答了这个区别: http : //ravisinghblog.in/key-difference-between-html-and-html-5/