65.9K
CodeProject 正在变化。 阅读更多。
Home

HTML 5 入门

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.62/5 (26投票s)

2009年1月20日

CPOL

6分钟阅读

viewsIcon

104981

HTML5 新特性介绍。

目录

引言

HTML4 已经伴随我们很久了,大约十年。而且,它并没有真正进行过重大更新。当然有 XHTML,但那也只是让事情变得稍微严格一些——如果你关心合规性,它会让你编写质量更好的代码。HTML5 做得更多。首先,它增加了一些新功能。数量不多,但增加的功能都非常有用。

HTML5 的工作早在 2004 年就开始了,现在它正变得越来越有趣。浏览器支持正在增加,我最感兴趣的元素——CANVAS——在五大主流浏览器中已有四个支持。然而,由于 MSIE 不支持它,目前还不太可行地使用它。

那么,有什么新内容呢?

  • <canvas>

    <canvas> 是一个由 JavaScript 控制的 2D(目前是,将来可能会有其他维度)绘图区域。你可以用它做各种各样的事情——图表、游戏、演示文稿等。因为它由 JavaScript 控制,所以你可以非常容易地与它进行交互。一个例子是我添加到 RGraph 中的工具提示功能。简而言之,点击条形图,你会得到一个可以包含各种 HTML(图像、视频等)的工具提示。我在这里写了一篇关于 <canvas> 标签的简短入门

  • <video>

    <video> 标签让在网页中嵌入视频剪辑变得更加容易。它具有 src(自然)、autoplayloop 等属性。<video> 标签对可用性(例如,盲人访问)有影响,因此可以包含描述视频的附加标记,理想情况下是视频的完整文字稿。

  • <audio>

    <audio> 标签与 <video> 非常相似,但用于音频文件。令人惊讶。

  • 上下文菜单

    HTML5 提供了一种定义上下文菜单的方法,使其在 Web 应用程序中更容易使用。或许,对于网站来说不是那么有用,但对于上下文菜单可以提供大量选项而又不占用 UI 空间的应用程序来说,肯定很有用。

  • 新的结构元素

    由于 HTML 大体上是非结构化的,因此提供了一些新元素来尝试纠正这个问题。这些元素包括

    • <section> - 文本或书籍的一个部分或章节。
    • <header> - 页面头部。这与 <head> 元素不同。
    • <footer> - 页面底部。通常是放置所有法律废话的地方。
    • <nav> - 指向其他页面的导航链接。例如,你可以将你的网站导航放入其中。
    • <article> - 例如,一篇博客文章可以由此封装。
    • <aside> - 此标签可用于为文本块提供额外信息。很像书籍等中的侧边栏材料。
    • <figure> - <figure> 元素可用于为你的主文本添加不一定与文本紧密相关的图表注释。
  • 新的内联元素

    HTML5 引入了新元素来帮助指示基本元素,例如时间或数字。

    • <mark> - 这表示一段文本以某种方式被标记。例如,你可以使用它来标记结果列表中的搜索词。
    • <time> - 你可以使用它来表示文本块中的时间或日期。
    • <meter> - 这可用于指示某种数字。它可以有多个属性,包括:valueminmaxlowhighoptimum
    • <progress> - 这可用于显示某种进度条。它有几个属性:valuemaxmax 属性可以省略。
  • 新的表单输入类型

    input 元素现在可以有一组新的类型,包括

    • datetime
    • 本地日期时间
    • date
    • month
    • 时间
    • number
    • range
    • email
    • url

    其中一些在桌面 UI 中已经很常见,因此实现起来应该不难,并且在用户填写表单时会更加熟悉。

  • 已弃用元素

    以下元素已被弃用或替换

    • acronym
    • applet
    • basefont
    • big
    • center
    • dir
    • font
    • frame
    • frameset
    • isindex
    • noframes
    • noscript
    • s
    • strike
    • tt
    • u
  • 字符编码语法

    HTML 5 文档的字符编码语法现在是:<meta charset="UTF-8">

  • 新的交互元素

    一些很棒的东西,将使构建网站,也许更重要的是,Web 应用程序变得更容易

    • <details> - 这可用于提供关于某个特定内容的更多信息。例如,浏览器可以将其实现为工具提示。此标签可以有一个 open 属性,该属性决定内容是否最初向用户显示。
    • <datagrid> - 与传统表格(设计为静态)不同,这可用于提供一组具有一定交互性的数据。例如,选择行或列、编辑数据、排序以及在客户端通常与数据进行交互。
    • <menu> - 以前是已弃用元素,<menu> 在 HTML5 中以新含义回归。例如,它可以包含 <command> 元素,这些元素会导致特定操作发生。例如,你可以使用此元素提供某种工具栏或上下文菜单(参见上文)。它可以有 labelicon 属性。它们可以嵌套以提供多级菜单。
  • 新的 DTD

    HTML5 有一个更简单的新 DTD:<!doctype html>。我想你会同意,这要好得多,也更容易记住。据我所知,这是因为 HTML 不再与 SGML 相关联。

  • 链接上的 href 可选

    这现在是可选的,因为链接可以与脚本结合使用。在 Web 应用程序中可能比在网站中更有用。

  • async 属性

    这规定一段脚本可以异步执行,而不是阻塞页面的其余部分直到它完成。

总结

HTML5 很可能是大家一直在等待的 HTML 更新。它为该语言提供了有用的补充,将使构建基于 Web 的应用程序更加容易和高效,同时使代码更简单。

当然,并非所有浏览器都将支持所有功能(<咳>MSIE</咳>),但随着时间的推移,新的项目已经专门设计来适应这种情况。所以,每个人都是赢家。大多数浏览器已经支持部分规范,有些已经支持很长时间了。一个例子是 <canvas>,它受到 Firefox、Opera、Chrome 和 Safari 的支持。据我所知,Firefox 3.1 将支持更多功能,即 <audio> 和/或 <video> 标签。迫不及待。

相关链接

HTML 5 介绍 - CodeProject - 代码之家
© . All rights reserved.