现今我们能用 HTML5 吗,能用它做些什么呢,是否真的是 Flash杀手?想必你也注意到了这些日渐增长且常被问起的类似问题,被讨论着,甚至被回答过。在我看来,你必须自己回答这些基本的问题。
这篇文章的本意是想帮你通过一些基本指南的学习,以轻松学习代码模板。一旦你熟悉了这些基本,并想更进一学习,你还将会找到更多提供了建议、技巧和技术的有用资源。
HTML 5 特性
HTML 5 特性是寻找 HTML5 特性的最好地方,当然你还可以轻松通过 W3Schools 来学习HTML 5 特性。我们将会在文章中涉及到以下的特性:
语义化标记Form 表单增强功能视频 / 音频画布(Canvas)可编辑内容拖放稳健的数据存储
检测浏览器支持
在你开始尝试 HTML5之前,需要知道各主流浏览器的支持状况。这些有用的资源,将可以帮助你向着正轨走:
HTML 5 特性HTML 5 特性HTML 5 特性HTML 5 特性
你还可以运行 Javascript(HTML 5 特性)来检测 HTML5 特性的支持。你还应该用用HTML 5 特性: 一个非常不错的检测 HTML5/CSS3 本地支持的 Javascript 库。如果你选择用 Mootools可以使用HTML 5 特性 (MooTools port of Modernizr)。
你可能也会想留意不断变化的”HTML 5 特性” — 这些信息对于你决定用何种解决或折衷的方法将会是非常必要的。
值得注意的变更点
除了新的特征,你还应该记下这些重要的变更点:
立即学习“前端免费学习笔记(深入)”;
简洁的 DOCTYPE HTML5 只需一个简洁的文档类型:。它有意不使用版本,因此文档将会适用所有版本的HTML。简单易记的语言标签 你并不需要在 中使用 xmlns 或 xml:lang 标记。 将对 HTML5 有效。简单易记的编码类型 你现在可以在 meta 标签中使用 “charset”:
语义化标记
HTML5 新增的一些新标签除了不仅仅是更具语义的
标签的替代品,并不提供额外的功能。这些都是新增的标签:HTML 5 特性>、HTML 5 特性、HTML 5 特性、HTML 5 特性、HTML 5 特性, HTML 5 特性、HTML 5 特性、HTML 5 特性、HTML 5 特性、HTML 5 特性 和HTML 5 特性。
这些标签被除了IE 外的所有现代浏览器(Firefox 3+、Safari 3.1+、Chrome 2+、and Opera 9.6+)支持。Javascript 提供了document.createElement(tagName) 的方法,让你可以用来创建新的 HTML5 标签。代替自己创建这些元素,你还可以用HTML 5 特性 或 HTML 5 特性 — 这些脚本将帮助 IE 正常处理 HTML5 元素的渲染。
你可能会想到添加 CSS Reset 到这些新元素上。这里是一些可以用在你以 HTML5 为基础的项目的CSS Reset:
HTML 5 特性HTML 5 特性
简单代码示例: 兼容 IE 的 HTML5 页面布局
Page Header
Page Sub Heading
HTML 5 特性)。你仍可以用 HTML 5 特性 或 HTML 5 特性 来检测你的 HTML5 文档。
HTML 5 特性
注意:这个示例在 IE6 下并未正常显示。这只是因为我使用 CSS child combinators 来避免使用额外的 class。你可以在 IE6 下用自己的 CSS ,像其他浏览器一样处理 HTML5 标记。
HTML 5 特性
表单增强
HTML5 为表单提供了几个新的属性、input 类型和标签。到目前为止,只有 Opera 对HTML5 有比较好的支持。你因此应该下载 Opera 来查看大部分新特性如何工作。
新的INPUT类型
HTML 5 特性, HTML 5 特性, HTML 5 特性, HTML 5 特性, HTML 5 特性, HTML 5 特性, HTML 5 特性, HTML 5 特性, HTML 5 特性, HTML 5 特性, HTML 5 特性, HTML 5 特性, 和 HTML 5 特性新属性
HTML 5 特性, HTML 5 特性, HTML 5 特性, HTML 5 特性, HTML 5 特性 和 HTML 5 特性新元素
HTML 5 特性, HTML 5 特性, HTML 5 特性, HTML 5 特性 和 HTML 5 特性
值得高兴的是尽管支持有限,使用这些特性也是个不错的选择。因为新的 INPUT 类型会漂亮地降级为 TEXT 类 INPUT(译注:INPUT 的默认 type 为 text)。且记住现今你仍可以折衷使用 Javascript 控制表单(这个技巧是指首先检测浏览器自身支持,然后才是使用折衷方法)。
简单代码示例:列出一些今天你可以拿来测试的新特性