您当前的位置:首页 > 网站建设笔记 >

为什么用HTML5

来源:CSS3实战0

在转入HTML5之前,让我们花点时间来思考一下HTML4。也许你会认同它在解决静态文档间的相互链接方面已经做得相当出色了,它就是为此而生的。但技术永远不会驻足不前,很快,许多开发者觉得他们已经不满足于仅仅开发静态文档,他们想要开始创建更动态化并且像应用程序一样的站点。而HTML4缺少很多原生功能来实现这样的目标。为了实现视频、动画图形和各种复杂的控件,开发者们开始转向使用类似Flash这样的独立技术,或复杂的低效率的HTML、CSS和JavaScript的杂牌组合以开放的标准来实现这些功能。

虽然当初“DHTML”(动态HTML)这样的杂牌组合如今有JavaScript库或类似的东西来处理,但由于下列原因,它始终是个山寨货:

  • 没有更语义化的元素来实现诸如视频和复杂表单控件这样的功能,而且实现这些功能的标签往往包含大量的非语义化嵌套<div>等。对屏幕阅读器、搜索引擎或者其他类似的自动化用户代理来说无法以它们的方式来处理这些内容(虽然WAI-ARIA能帮助减轻这种问题)。这对搜索引擎优化与可访问性来说是个大问题。
  • 这种实现方法导致页面越来越臃肿。
  • 这些杂牌组合用来实现各种非常常见的需求。可笑的是,你不得不求助于各种hack和极其复杂的自定义措施予以实施。

HTML5给出了解决方案并保持了向前兼容性。它包含了HTML4的所有特性,此外还增补了先前缺失的细节和几个新特性,它们可以结合起来创建各种应用,例如:

  • 用来定义常见页面区域的新语义化元素,比如页头、页脚、主导航、不同的正文内容、插图等。
  • <canvas>及其关联的API可用来创建复杂的脚本化图形,比如动画。
  • <audio>、<video>及其关联的API用来实现视听内容。
  • 允许应用脱机工作的机制。
  • 能定义错误处理机制,例如当使用不正确的标记(例如缺少结束标记等)时如何处理。

HTML5错误处理

在HTML5之前,错误处理的规范就从来没有定义过,这就把问题留给了浏览器厂商,让他们来决定如何处理标记错误。这导致了不统一的错误处理方式和出现错误时不同浏览器有不同的渲染结果。既然越来越多的浏览器开始使用具有一致的错误处理机制(如规范里所定义的)的HTML5解析器,这样大量的跨浏览器兼容性问题就应该消失。

使用原生HTML来嵌入视频比采用Flash更棒的几点理由:

  • HTML与其他开放标准相处得相当融洽,因此,你可以用CSS来定义视频样式甚至直接用JavaScript来增强其功能。而对于Flash,由于它无法与开放标准交流,你需要找到并打开.fla文件然后直接更新代码。对浏览器来说,Flash影片是一个墨盒:它无法理解影片中的各个组件。
  • 开放标准的解决方案更具可访问性。换句话说,对搜索引擎优化更友好。很多屏幕阅读器与搜索引擎机器人无法读取Flash中的文本。Flash播放器难以实现键盘访问,而至少在Opera上键盘很轻易就能访问HTML5<video>,Firefox和IE则只需要启用JavaScript就可实现。
  • 对那些精通技术的极客来说,在能获得内容前先下载Flash插件是小菜一碟,但对于像我祖母这样的人就造成了用户体验障碍。

此外,几乎所有重要的HTML5特性在现代浏览器上都得到了很好的支持,而且还能为不支持的浏览器提供各种各样的替代方案和后备方案。因此在很多实际项目中HTML5已经得到了广泛应用,如果说这些技术对youtube.com来说已经足够了,那么对你来说也足够了,对不对?

建站咨询

在线咨询真诚为您提供专业解答服务

咨询热线

137 1731 25507×24小时服务热线

微信交流

二维码终于等到你,还好我没放弃
返回顶部