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

时间:2008-09-25 17:32:20

标签: html html5 html4

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

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

8 个答案:

答案 0 :(得分:191)

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>,使您的网页更加语义化,但更重要的是,更容易阅读。没有更痛苦的扫描来查看随机</div>正在关闭的内容 - 相反,您将拥有明显的</header></article>,从而使文档的结构更加直观。

答案 1 :(得分:43)

来自Wikipedia

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

答案 2 :(得分:12)

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

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

答案 3 :(得分:10)

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

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

答案 4 :(得分:3)

您可能会对此HTML5 elements and attributes列表感兴趣。

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

答案 5 :(得分:2)

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

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

答案 6 :(得分:0)

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

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

答案 7 :(得分:0)

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