回答
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>
S,使网页有点更多的语义,但更重要的是,更易于阅读。没有更痛苦的扫描,看看那个随机的</div>
正在关闭 - 相反,您将有一个明显的</header>
或</article>
,使您的文档结构更加直观。
您需要检查here以获得完整的差异。但是有很多新元素和元素属性。有些元素被删除,其他元素的语义值与以前不同。还定义了一些API,例如使用画布来帮助构建下一代Web应用程序,并确保实现标准化。
- 新的解析走向灵活的解析和兼容性
- 新元素的面向规则 - 部分,视频,进步,导航,仪表,时间,放在一边,帆布
- 新的输入属性 - 日期和时间,电子邮件,网址
- 新属性 - ping,字符集,异步
- 全局属性(可应用于每个元素) - id,tabindex,re泥炭
- 弃用的元素下降 - 中心,字体,罢工
HTML 5邀您给很多语义值添加到您的代码。此外,还有本地化解决方案来嵌入多媒体内容。
其余部分很重要,但它更具有技术性的糖,可以帮助您避免使用客户端编程语言完成相同的工作。
您可能对HTML5 elements and attributes的列表感兴趣。
此外,请注意它是“HTML 4”,而不是“HTML4”。事实上,对于HTML 5,使用了两种变体,但意义上存在重要差异。 HTML 5引用了W3C规范的名称,而“HTML5”是符合此规范的text/html
MIME类型的HTML文件的文档类型。 XHTML 5与XHTML5也是如此。
您似乎暗示XHTML 5存在,但事实并非如此。 XHTML的最新W3C推荐标准是1.1,2.0正处于草案阶段。 – 2010-08-11 04:41:24
@David Rivers:它确实存在。 [XHTML5是HTML5的XML序列化](http://mathiasbynens.be/notes/xhtml5)。 – 2010-08-11 12:20:11
HTML5引入了许多API来帮助创建Web应用程序。这些可与用于应用的新元素一起使用:
- 用于播放可用于新视频和音频元素的视频和音频的API。
- 启用离线Web应用程序的API。
- 允许Web应用程序为特定协议或媒体类型注册自己的API。
- 编辑API与新的全局
contenteditable
属性相结合。 - 拖动&拖放API与
draggable
属性组合。 - 一个公开历史记录并允许页面添加到其中以防止中断后退按钮的API。
现在W3C提供在其网站上正式的区别:
总之这是很简单的与HTML相比,长DOCTYPE被删除,还中心和字体标记将被删除。 我也在我的博客中回答了这个区别: http://ravisinghblog.in/key-difference-between-html-and-html-5/
- 1. HTML 5比以前的版本有什么主要区别?
- 2. HTML和XAML的主要区别?
- 3. php 4和php 5有什么区别?
- 4. Go的tmp和html有什么区别?
- 5. 什么是Html 5的'jQuery'?
- 6. getc()vs fgetc() - 主要区别是什么?
- 7. Cassandra中分区和列族的主要区别是什么
- 8. html代表什么?和html和html5的区别
- 9. .clone()和.html()有什么区别?
- 10. html和*有什么区别吗?
- 11. smarty中* .tpl和* .html有什么区别?
- 12. html和xml有什么区别?
- 13. asp:label和HTML标签有什么区别?
- 14. PHPExcel和PhpSpreadsheet的主要区别是什么?
- 15. Html :: encode()和YII2中的基本html代码有什么区别?
- 16. 字符数组的ESI和EBX的主要区别是什么?
- 17. java中的Array和Hashmap之间的主要区别是什么?
- 18. 是platform.js主要区别是什么和聚合物webcomponent.js
- 19. mootools中的.innerHTML和.set('html','')之间的区别是什么?
- 20. HTML中的http://和//之间的区别是什么
- 21. Sql Server 2005和Sql Server 2008的主要区别是什么?
- 22. CTE和TEMP表格之间的主要区别是什么?
- 23. 静态类和单一类的主要区别是什么
- 24. 框架和工具包之间的主要区别是什么?
- 25. Java SE和Java EE之间的主要区别是什么?
- 26. G1GC和SGen GC之间的主要区别是什么
- 27. VB Express 2008(pro)和2010之间的主要区别是什么?
- 28. HAML,SASS/Compass和ERB的主要区别是什么?
- 29. C++中stdlib.h和cstdlib之间的主要区别是什么?
- 30. Asp.Net webApplication和网站的主要区别是什么?
请通过编辑答案来突出标签和句子。 (这只是一个建议,因为在我读这本书时,它让我感到厌倦。) – 2013-05-13 15:48:16