HTML 4和HTML 5之间的主要区别是什么?

问题描述 投票:140回答:8

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

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

html html5 html4
8个回答
193
投票

HTML5有几个目标,可以将它与HTML4区分开来。

Consistency in Handling Malformed Documents

主要的是一致的,定义的错误处理。如您所知,HTML特意支持“标记汤”,或者编写格式错误的代码并将其更正为有效文档的能力。问题是执行此操作的规则不会在任何地方写下来。当一个新的浏览器供应商想要进入市场时,他们只需要在各种浏览器(尤其是IE)中测试格式错误的文档并对其错误处理进行反向工程。如果他们不这样做,那么许多页面将无法正确显示(估计大约90%的网页在网上至少有些格式错误)。

因此,HTML5正在尝试发现并编纂此错误处理,以便浏览器开发人员可以全部标准化并大大减少一致地显示内容所需的时间和金钱。同样,在HTML作为文档格式死亡之后的很长一段时间内,历史学家可能仍然希望阅读我们的文档,并且具有完全定义的解析算法将极大地有助于此。

Better Web Application Features

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

Improved Element Semantics

在HTML5中还有许多其他较小的工作,例如现有元素的更好定义的语义角色(<strong><em>现在实际上意味着不同的东西,甚至<b><i>具有模糊的语义,在解析遗留文档时应该很好)并且添加具有有用语义的新元素 - <article><section><header><aside><nav>应该取代网页上使用的大多数<div>s,使您的页面更具语义性,但更重要的是,更易于阅读。没有更痛苦的扫描,看看随机</div>正在关闭什么 - 相反,你将有一个明显的</header>,或</article>,使您的文档结构更直观。


43
投票

来自Wikipedia

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

12
投票

您需要检查HTML5 Differences from HTML4: W3C Working Group Note 9 December 2014的完整差异。有许多新元素和元素属性。删除了一些元素,其他元素具有与以前不同的语义值。

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


10
投票

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

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

3
投票

您可能对HTML5 elements and attributes的这个列表感兴趣。

此外,请注意它是“HTML 4”,而不是“HTML4”。实际上,对于HTML 5,使用了两种变体,但在含义上存在重要差异。 HTML 5指的是W3C规范的名称,而“HTML5”是那些具有遵循此规范的text/html MIME类型的HTML文件的文档类型。 XHTML 5与XHTML5相同。


2
投票

现在W3c在他们的网站上提供了官方差异:

http://www.w3.org/TR/html5-diff/


0
投票

HTML 5邀请您为代码添加大量语义值。更重要的是,有本机解决方案来嵌入多媒体内容。

其余的很重要,但它更加技术化,可以帮助您避免使用客户端编程语言做同样的事情。


0
投票

简而言之,与html相比,它非常简单,删除了长文档类型,并删除了中心和字体标记。我也在我的博客中回答了这个差异:http://ravisinghblog.in/key-difference-between-html-and-html-5/

© www.soinside.com 2019 - 2024. All rights reserved.