HTML4和 HTML5之间的关键区别是什么?

HTML4HTML5草案之间的主要区别是什么?

请保留与更改语法和添加/删除 html 元素相关的答案。

304626 次浏览

您需要检查 HTML5与 HTML4的差异: W3C 工作组注释2014年12月9日以了解完全不同的情况。有许多新的元素和元素属性。有些元素被删除,有些元素具有不同的语义价值。

还定义了一些 API,比如画布的使用,以帮助构建下一代 Web 应用程序,并确保实现标准化。

来自 维基百科:

  • 面向灵活解析和兼容性的新解析规则
  • 新元素-部分,视频,进度,导航,米,时间,旁边,画布
  • 新的输入属性-日期和时间,电子邮件,网址
  • 新的属性-ping,charset,sync
  • 全局属性(可以应用于每个元素)-id、 tabindex、 repeat
  • 不推荐的元素删除-中心,字体,删除

HTML5邀请您为您的代码增加许多语义价值。此外,还有嵌入多媒体内容的本地解决方案。

其余的部分很重要,但是更多的是技术上的甜头,它将使您避免使用客户机编程语言做同样的事情。

HTML5有几个不同于 HTML4的目标。

处理错误文档的一致性

第一个是 定义一致的错误处理。正如您所知,HTML 特意支持“标记汤”,即编写格式不正确的代码并将其纠正为有效文档的能力。问题是这样做的规则并没有写在任何地方。当一个新的浏览器厂商想要进入市场时,他们只需要在不同的浏览器(尤其是 IE)中测试不正常的文档,并对其错误处理进行反向工程。如果它们不这样做,那么许多页面就不会正确显示(估计网络上大约90% 的页面至少在某种程度上是畸形的)。

因此,HTML5正在尝试发现和编写这种错误处理,以便浏览器开发人员都可以标准化,并大大减少一致显示所需的时间和金钱。同样,在 HTML 作为文档格式消失很久之后,历史学家可能仍然想要阅读我们的文档,而拥有一个完整定义的解析算法将大大有助于这一点。

更好的 Web 应用程序特性

HTML5的第二个目标是通过 HTML、 CSS 和 Javascript 开发浏览器作为应用程序平台的能力。许多元素已经被直接添加到目前(在 HTML4中)基于 Flash 或 JS 的编程语言中,比如 <canvas><video><audio>。有用的东西,如本地存储(一个 js 可访问的浏览器内置的键值数据库,用于存储信息超过什么 cookie 可以容纳) ,新的输入类型,如日期,浏览器可以公开容易的用户界面(这样我们就不必使用我们的基于 js 的日历日期选择器) ,和浏览器支持的表单验证将使开发 Web 应用程序对开发人员来说更加简单,并使它们对用户来说更加快速(因为很多东西将支持本机,而不是通过 javascript)。

改进的元素语义

在 HTML5中还有许多其他小的努力,比如为现有元素定义更好的语义角色(<strong><em>现在实际上意味着一些不同的东西,甚至 <b><i>也有模糊的语义,在解析遗留文档时应该能够很好地工作) ,以及添加具有有用语义的新元素—— <article><section><header><aside><nav>应该取代网页上使用的大多数 <div>,使你的页面更具语义性,但更重要的是,<em>3。没有更痛苦的扫描,只是看到什么随机 <em>0是关闭-相反,您将有一个明显的 <em>1,或 <em>2,使您的文档结构更加直观。

您可能对这个 HTML5元素和属性列表感兴趣。

另外,请注意它是“ HTML4”,而不是“ HTML4”。事实上,对于 HTML5,两种变体都被使用,但是在意义上有一个重要的区别。HTML 5指的是 W3C 规范的名称,而“ HTML5”是那些具有遵循该规范的 text/html MIME 类型的 HTML 文件的文档类型。 XHTML5和 XHTML5也是如此。

HTML5引入了许多有助于创建 Web 应用程序的 API。这些可以与为应用程序引入的新要素一起使用:

  • 一个播放视频和音频的 API,可以与新的视频和音频元素一起使用。
  • 启用脱机 Web 应用程序的 API。
  • 允许 Web 应用程序为某些协议或媒体类型注册自身的 API。
  • 结合新的全局 contenteditable属性的编辑 API。
  • 结合 draggable属性的拖放 API。
  • 一个公开历史记录并允许页面添加到历史记录的 API,以防止中断后退按钮。

现在 W3c 在他们的网站上提供了一个官方的区别:

Http://www.w3.org/tr/html5-diff/

简而言之,与 html 相比,它非常简单,删除了冗长的 doctype,也删除了 center 和 font 标记。 我也在我的博客中回答了这个差异: Http://ravisinghblog.in/key-difference-between-html-and-html-5/