请保留与更改的语法和添加/删除的 html 元素相关的答案。
8 回答
HTML5 有几个区别于 HTML4 的目标。
处理畸形文件的一致性
第一个是一致的、已定义的错误处理。如您所知,HTML 特意支持“标记汤”,即编写格式错误的代码并将其更正为有效文档的能力。问题是这样做的规则没有写在任何地方。当新的浏览器供应商想要进入市场时,他们只需要在各种浏览器(尤其是 IE)中测试格式错误的文档并对其错误处理进行逆向工程。如果他们不这样做,那么许多页面将无法正确显示(估计将大约 90% 的页面放在网络上至少有些格式不正确)。
因此,HTML5 试图发现并编码这种错误处理,以便浏览器开发人员都可以标准化并大大减少一致显示内容所需的时间和金钱。同样,在 HTML 作为一种文档格式消亡之后的很长一段时间内,历史学家可能仍想阅读我们的文档,而拥有一个完全定义的解析算法将大大有助于这一点。
更好的 Web 应用程序功能
HTML5 的次要目标是通过 HTML、CSS 和 Javascript 开发浏览器成为应用平台的能力。许多元素已直接添加到当前(在 HTML4 中)Flash 或基于 JS 的 hack 的语言中,例如<canvas>
、<video>
和<audio>
. 有用的东西,例如本地存储(一个 js 可访问的浏览器内置键值数据库,用于存储超出 cookie 可以保存的信息),新的输入类型,例如浏览器可以公开简单用户界面的日期(以便我们不必使用我们基于 js 的日历日期选择器),并且浏览器支持的表单验证将使开发人员开发 Web 应用程序变得更加简单,并使用户更快地开发 Web 应用程序(因为很多东西都将得到原生支持,而不是通过 javascript 入侵)。
改进的元素语义
HTML5 中还有许多其他较小的努力,例如更好地定义现有元素的语义角色(<strong>
现在实际上意味着不同的东西,<em>
甚至具有模糊的语义,在解析遗留文档时应该可以很好地工作)以及添加有用的新元素语义 - , , , , 和应该替换网页上使用的大多数s,使您的页面更具语义,但更重要的是,更易于阅读。没有更痛苦的扫描来查看随机关闭的内容 - 相反,您将有一个明显的, 或,使您的文档结构更加直观。<b>
<i>
<article>
<section>
<header>
<aside>
<nav>
<div>
</div>
</header>
</article>
来自维基百科:
- 面向灵活解析和兼容性的新解析规则
- 新元素 - 部分、视频、进度、导航、仪表、时间、旁边、画布
- 新的输入属性——日期和时间、电子邮件、网址
- 新属性——ping、charset、async
- 全局属性(可应用于每个元素)——id、tabindex、repeat
- 弃用的元素被删除——中心、字体、罢工
您需要查看HTML5 与 HTML4 的差异:W3C 工作组说明 2014 年 12 月 9 日以了解完整的差异。有许多新元素和元素属性。一些元素被删除,其他元素具有与以前不同的语义值。
还定义了 API,例如使用画布,以帮助构建下一代 Web 应用程序并确保实现标准化。
HTML5 引入了许多有助于创建 Web 应用程序的 API。这些可以与为应用程序引入的新元素一起使用:
- 用于播放视频和音频的 API,可与新的视频和音频元素一起使用。
- 启用离线 Web 应用程序的 API。
- 允许 Web 应用程序为某些协议或媒体类型注册自身的 API。
contenteditable
与新的全局属性相结合的编辑 API 。draggable
与属性相结合的拖放 API 。- 公开历史记录并允许向其中添加页面以防止破坏后退按钮的 API。
您可能对这个HTML5 元素和属性列表感兴趣。
另外,请注意它是“HTML 4”,而不是“HTML4”。事实上,对于 HTML 5,这两种变体都被使用,但在含义上有一个重要的区别。HTML 5 指的是 W3C 规范的名称,而“HTML5”是那些具有text/html
遵循该规范的 MIME 类型的 HTML 文件的文档类型。XHTML 5 与 XHTML5 也是如此。
现在 W3c 在他们的网站上提供了官方的区别:
HTML 5 邀请您为代码添加大量语义价值。此外,还有嵌入多媒体内容的原生解决方案。
其余的很重要,但更多的是技术性的糖,可以使您免于使用客户端编程语言做同样的事情。
简而言之,与 html 相比,它要简单得多,删除了长文档类型,并删除了中心和字体标签。我还在我的博客中回答了这个差异: http ://ravisinghblog.in/key-difference-between-html-and-html-5/