`

HTML 5 的介绍

阅读更多

已经有许多文章是关于HTML5的了,例如“HTML5有什么期待?”和“HTML5会如何改变网络”之类的,但是对于Web开发人员来说,最主要需要知道的是:我现在可以用上HTML5来做些什么,我怎么开始使用它?好消息是现在已经有不少的HTML5里的东西可以使用了。但是,开始你就必须要明白一件事情,你需要知道你的受众如何,否则的话你就不该使用HTML5。假如你的站点的访问大部分人都是在使用IE6,那么你完全没有任何理由使用HTML5。另一方面,如果你站点的访问者都是使用手机浏览器,如iPhone和iPad,那么你还在等什么呢?马上就可以开始动手了!等等,这里有一些准则,看完再动手不迟。

 

你现在可以使用哪些HTML5特性?

虽然HTML5标准现在仍然是个草案,在标准化组织手里依然还在商讨,但是重要的部分已经被许多现代的浏览器实现了。Apple Safari, Google Chrome, Mozilla Firefox, Opera和Microsoft IE9都已经很好的支持了HTML5的部分特性。

先来看看各浏览器在HTML5TEST网站上的得分如何:

* Apple Safari 5.0: 208

* Google Chrome 5.03: 197

* Microsoft IE7: 12

* Microsoft IE8: 27

* Mozilla Firefox 3.66: 139

* Opera 10.6: 159

看起来很明显,非IE核心的主流浏览器大部分都对HTML5支持良好,它们可以使“使用了HTML5草案的网站”工作得很好。

回到开始,你现在就可以使用HTML5的doctype了,没有理由不使用,你甚至可以在整个网站里进行查询和替换:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”

“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>

<html xmlns=”http://www.w3.org/1999/xhtml”>

变为:

<!DOCTYPE html>

<html>

下面这部分代码看起来更简洁和直接,不是吗?如果浏览器用一个标准兼容的方式来渲染你的网页,那么他们现在仍然会这么做。

说说视频吧。许多关于HTML5的出版物都会提及到目前的竞争者,一共四个:Flash, H.264, OGG和WebM。所有这些在未来都有可能成为一个标准格式,而且没有一个可以在所有平台所有浏览器上正确播放,很悲哀吧,看起来,浏览器的赞助商们在短 时间内还没有为这个特性准备一个公共的格式。

所以,显而易见的是,Video标签现在还没有到可以应用的阶段。但是等下,人们应该期待HTML5的视频标签是与格式无关的。事实上,因为视频可 以包含多个Source标签,它也必须得这样工作。如果你的浏览器不支持第一个选项,那么就会去尝试第二个,再第三个,四个,五个……

处理这样的情况的HTML是一个开源项目,支持基于网络的视频,不使用任何脚本和浏览器嗅探,可以在这里找到

从语义上讲,HTML5的一个大的改变就是那些语义明确化的标签。可以看到的改变是,目前你的站点上充满了类似于这样的代码:

<div id=”header”> <span class=”nav”>

而在HTML5中,你可以这样表示:

<header> <nav>

是不是语义更明确?当然,我们还是要用CSS[层叠样式表]来格式化这些元素。但是等等,没有一个IE版本可以支持这些标签!这对于人们来说是一个 巨大的问题!我们真的这么倒霉吗?谢天谢地,我们还有一个解决方案:所有你需要做的事情就是把下面的代码粘贴到你的页面的HEAD标签里:

<!–[if lt IE 9]> 
<script src= 
"http://html5shiv.googlecode.com/svn/trunk/html5.js"
</script> 
<![endif]–>

HTML5 Shiv是一个开源的项目,基于一个简单的发现:如果你在IE里创建了一个DOM元素,那么你就可以用那个名字在样式里使用。例如,如果你使用

document.createElement(“foo”)

创建了一个DOM元素,那么你就可以在当前页面里加入任意数量的foo标签,而且IE会格式化它们。HTML5 Shiv里包含了一些IE不能识别的HTML5元素,然后一个一个的去创建它们。这样你就可以使用这些HTML5标签了,例如:

Article, Section, Header, Footer, Nav

智能表单,另一个使HTML5更聪明的特性。如果你对于每次写同样的脚本去检查邮件地址的合法性或者类似于电话号码、网络地址之类的感到厌烦的话,那么你不是一个人!有理由去让浏览器去完成这些烦人的工作,不是吗?相当正确。

下面是语法:

<input type="email"> 
<input type="url"> 
<input type="number"> 
<input type="tel">

那些旧的浏览器会如何处理?比较聪明的部分:如果它们看到一个TYPE属性有个值不认识的话, 那么它们就会用默认值Text去渲染这个元素,这正是我们所期望的向下兼容的结果。支持HTML5的浏览器会自动去验证这个字段类型,但是,你最好还是不 要把以前的脚本扔掉,至少——也要在IE9普及以后。

如果你还想知道除了验证之外,支持这些类型的浏览器还做了些什么事情,那么你可以在iPhone上试试这些表单。你会注意到与表单关联的键盘类型都 会发生变化,有的时候是数字类型的,有的时候是字母类型但附加了一个@符号,还有的甚至直接有一个按键.com,这就是这些元素的魔力。所有你需要做的就 是改变这个type的属性值而已。

还可以更智能一点,这里还有个新属性:

placehoder

这个值可以简单地指定一段文本,你经常在网上看到的效果,没值的时候显示此文本,单击的时候值变成空,离开又恢复成该文本,以前要用到Javascript处理,现在浏览器会为你做这个事情了。

<input type="email" placeholder="Your email address">

 

有哪些HTML5特性你马上就可以使用?

 

不是所有的HTML5元素都已经准备好可以使用了,因为种种原因(这些原因是没有一个缩写为 IE 的),浏览器支持马上就要来了,在不远的未来,你马上就有两个元素可以使用了。

魔幻字体,每个设计师都有一个梦想,希望站点的访问者们都安装了他们在设计时所需要的字体,为此,以前可谓手段 百出,用图片,Flash等等不一而足,现在,他们拥有了这个权利,你可以强制你的访问者安装你指定的字体了。这就是CSS3的支持: @font-face属性。Firefox 3.5以前的版本和Safari的移动版本(iOS 4之前)不支持这个属性,如果你的站点有很多这样类似的访问,那么你可能就得等等了。

无论如何,其实没有真正的理由,让所有的浏览器都使用同一种字体的。如果你想提供给那些支持此属性的浏览器以自定义字体,然后让不支持此属性的浏览器有一个可替代的字体也是一个不错的解决方案,这个时候,Font Squirrel’s @font-face 生成器 是个不错的去处。

阴影和圆角,让很多设计师高兴的东西来了,文本阴影、区块阴影,区块圆角特性等现在都CSS3支持的标准了。再说一次,如果你不想用像素级别的完美来衡量在不同浏览器中的渲染的话,那么你现在就可以开始使用这些特性了。CSS3 生成器 会帮助你做好这事。

圆角 (Firefox 3+, Safari 3.1+, Opera 10.5+, Chrome 4+, IE 9+)

-webkit-border-radius: 10px; 
-moz-border-radius: 10px; 
border-radius: 10px;

 

文本阴影 (Firefox 3.5+, Safari 1.1+, Opera 9.6+, Chrome 4+)

text-shadow: 5px 5px 3px #CCC;

 

区块阴影(Firefox 3.5+, Safari 3+, Opera 10.5+, Chrome 4+):

-webkit-box-shadow: 10px 10px 5px #666; 
-moz-box-shadow: 10px 10px 5px #666; 
box-shadow: 10px 10px 5px #666;

 

哪些特性有一天你会用到?

这个目录里包含了开发人员和设计师已经想了很多年的特性。可惜的是,在它们能够在现实世界真正使用之前,可能还得再等上几年时间。

智能表单,前面已经提到过了,但是其实还有很多更好用的元素没有提及,但在更广泛的支持之前,是没有办法使用的。

滑动选择器:

<input type="range" min="0" max="100" step="2" value="50">

颜色选择器:

<input type="color">

日期选择器:

<input type="date">

带有正则验证的输入框:

<input type="text" pattern="[0-9]{13,16}">

必须输入的输入框:

<input type="text" required>

所有这些标签都没有跨浏览器,跨平台实现支持,不过当那天到来的时候,你一定会很向往使用这些标签的。

打印式布局,另一个CSS3的特性,全面实施尚需好几年的时间。给设计师们提供了多列布局的特性。目前只能在Firefox和Safari的测试用例里实现。

-moz-column-count: 3; 
-moz-column-gap: 20px; 
-webkit-column-count: 3; 
-webkit-column-gap: 20px;

地理位置检测,随着基于位置的服务增长,例如Gowalla和Foursquare,对于浏览器来说,知道用户 在哪里是很有用的。所以,基于手机的移动浏览器率先实现这个特性也就不足为奇了,Firefxo 3.5和Safari 5已经开始提供地理定位的支持了。(Chrome的类似服务是通过Gears实现的,不过正在逐步转向到HTML5上面)。

离线工作和本地存储,在你没发现你没有网络连接的时候,将数据存储在云端是非常伟大的主意;或者你有一个应用程 序,需要处理大量的数据,这样就不得不频繁地在服务端和客户端之间往来,比你想像得到的还要多;又或者你的移动数据流量有限,你想在手机上存储更多的数据 以避免太多的流量损耗,这个时候的答案就是,使用本地储存来使应用程序离线工作,当连线的时候再同步到云端的功能。

支持此功能的浏览器有:Firefox 3.5+, Safari Mobile 3.1+, Safari 4+, Chrome 4+。

画板、动画和变换效果,HTML5的承诺之一使用Canvas元素和一些CSS3属性可以实现是全说明和全动画的网站。这来自2010年7月12号的标准。

规范 说明 IE Firefox Safari Chrome
Canvas 动态图形 9 3 3.2 3
Canvas 文本API 动态文本 9 3.5 4 3
变换 
Transitions
简单的属性变换 ? 4 3.2 3
动画 
Animation
高级的属性变换 ? ? 4 3
3D Canvas图形/WebGL 硬件加速的动态3D图形 ? 4 5 5
变形 
Transforms
旋转和元素缩放 ? 3.5 3.2 3
3D变形 
3D Transform
通过第三维进行变换 ? ? 5 ?

绿色=已实现,红色=没有已经计划

 

使用最尖端的HTML5的捷径

如果你已经迫不及待地想IE8老死掉,那么,有很多种方法可以跳过它继续往前——再说一次,依然取决于你的访客。查看一下你的站点的访问日志,看看 访问量最多的浏览器标头是什么。这其中有一种方法就是,例如,使用Google的Chrome Frame,给IE嵌入了一个Chrome实例,如果你明白你站点的访问者可能已经安装了GCF[Google Chrome Frame],那么你可以在你的HEAD里加上一行META标签,强制IE浏览器使用GCF来显示你的网站:

<meta http-equiv="X-UA-Compatible" content="chrome=1">

[编者:不过提醒你的就是,这样做会使得原来的IE=7的IE7兼容模式失效,如果选择请自己权衡。]

再加上一小段的Google提供的脚本,可以让没有安装GCF的用户跳转到GCF的安装页面,那么你也许可以跳过IE的限制。[编者:我疯了,怎么看怎么像是免费为GCF打广告来带来免费流量……]

列举在本篇文章里的元素只是当前HTML5和CSS3草案中的一小部分,如果你不得不使用另外的一些新特性,那么去检查一下现有的开源项目是很有必要的,这样可以将浏览器兼容性的问题降到最低。

许多媒体在报道HTML的时候都把焦点放在立场上面,什么“不到2022年”,什么“Flash杀手”之类的。现实是,HTML5是长期以来的需要和对久未更新的HTML4的一次全新升级——所以,今天你就可以开始使用它了。

<video>标记

您应该会记得,HTML5 在嵌入视频时本质上归结为使用一个标记:<video>。但正如其他 HTML 标记一样,有很多参数选项。以下是标记本身中的一些要点:

src:视频源的位置和名称,它的工作原理与 <img> 标记的 src 参数相同。但是要注意,在这里不是识别视频源,您可以并且也应该在标记外部识别(参见下文)。

<video id="sampleMovie" src="HTML5Sample.mov"></video>

width和height:(可选)视频的尺寸。更准确地说,这是视频帧宽度和高度,而不是视频本身。与 <img> 相似,省去此选项将导致浏览器使用视频源的默认尺寸。但是与 <img> 不同的是,使用与源不同的大小将缩放视频,而不是扭曲它。换句话说,嵌入的视频将保留其源的比率。如果您指定的大小小于源,整个视频将会缩小。但是,如果您指定的大小大于源,视频将以其原始大小显示,所指定尺寸的其余部分将使用空白区域填充。

<video id="sampleMovie" src="HTML5Sample.mov" width=”640” height=”360”></video>

controls:添加默认视频控件覆盖。如果您不想创建自己的自定义控件,这是非常有用的。但是,如果想深入研究自定义播放器控件,可以使用 JavaScript 和 CSS。该规范允许操作 play ()、pause()、currentTime、volume、muted 等方法和属性。

<video id="sampleMovie" src="HTML5Sample.mov" controls></video>

preload:只要用户点击页面就开始下载视频。要指示预加载视频,只需包括该属性。要指示其不预加载,将该属性设置为等于"none"。

<video id="sampleMovie" src="HTML5Sample.mov" preload></video>

<video id="sampleMovie" src="HTML5Sample.mov" preload=”none”></video>

autoplay:流氓参数。该参数指示浏览器加载页面时就播放视频。不要使用它。

<video id="sampleMovie" src="HTML5Sample.mov" autoplay></video>

接下来是见证奇迹的时刻。HTML5 规范包括一个方便的古怪功能,可以弥补当前围绕视频格式所发生的浏览器功能障碍。不使用 src 属性指定视频源,您可以在<video> 标记中嵌套多个标记,每个都有不同的视频源。浏览器将自动浏览列表并选择第一个能够播放的视频。例如:

<video id="sampleMovie" width="640" height="360" preload controls>

<source src="HTML5Sample_H264.mov" />

<source src="HTML5Sample_Ogg.ogv" />

<source src="HTML5Sample_WebM.webm" />

</video>

如果在 Chrome 中测试该代码,将获得 H.264 视频。但是在 Firefox 中运行它,会在相同的地方看到 Ogg 视频。

分享到:
评论

相关推荐

    html5介绍.ppt

    ### HTML5介绍 #### 什么是HTML5? HTML5是一种用于构建网页的标准标记语言,它不仅扩展了HTML4的功能,还引入了许多新特性来增强网页的表现力和交互性。HTML5的发展始于2004年,由WHATWG(Web Hypertext ...

    企业html5介绍bootstrap模板.rar

    本资源“企业html5介绍bootstrap模板.rar”是一个包含HTML5和Bootstrap技术的企业级网站模板,旨在帮助开发者快速搭建企业官网。 HTML5引入了许多新的标签,如、、等,这些语义化标签使代码结构更清晰,更利于搜索...

    学校实训项目-企业html5介绍bootstrap模板.zip

    在这个“学校实训项目-企业html5介绍bootstrap模板.zip”压缩包中,我们主要涉及的是前端网页开发技术,尤其是HTML5和Bootstrap框架的应用。这个实训项目是针对学生进行的,旨在帮助他们掌握现代网页设计和开发的...

    HTML5详细介绍

    ### HTML5详细介绍 #### 1、HTML5概述 HTML5是一种新的网络标准,旨在替代HTML4.0、XHTML1.0以及DOM Level 2 HTML等旧标准。它的诞生标志着Web开发进入了新时代。 - **发展目标**:HTML5的目标是简化Web开发流程...

    htm5入门 html5介绍 html5的新特性 css3

    ### HTML5 入门与新特性详解 #### HTML5简介 HTML5是万维网联盟(W3C)制定的最新一代超文本标记语言标准,它不仅改进了之前的HTML版本,还引入了许多新特性和API,使得Web开发更加高效、灵活且功能强大。HTML5的...

    企业html5介绍bootstrap模板

    这个"企业HTML5介绍Bootstrap模板"旨在为企业提供一个高效、快速的起点,以创建具有现代设计感和卓越用户体验的网站。 Bootstrap的核心特性包括一套精心设计的CSS样式、JavaScript组件以及对HTML5的支持。这些特性...

    HTML5实战开发坦克大战视频教程

    资源名称:HTML5实战开发坦克大战视频教程 教程内容:HTML5游戏公开课-坦克大战01.HTML5介绍.HTML5发展.HTML5学习网站推荐HTML5游戏公开课-坦克大战02.HTML5快速体验①(canvas.video.header.footer等)HTML5游戏公开...

    HTML5从入门到精通

    - HTML5介绍:文档开篇介绍HTML5的基本概念,包括其发展背景、设计理念以及与之前HTML版本的主要区别。 - HTML5简介:这部分可能会介绍HTML5的基本语法、结构以及新的标签和属性,让读者对HTML5有一个总体的认识。...

    html5入门到精通 视频教程

    HTML5介绍 HTML5开发教程-1.相关概念和准备工作 HTML5开发教程-2.HTML5基础 HTML5开发教程-3.HTML核心元素1 HTML5开发教程-4.HTML核心元素2 HTML5开发教程-5.CSS基础 1.HTML常用标记超链接表格表单 2.HTML常用标题...

    绿色家乡美食HTML5模板

    【绿色家乡美食HTML5模板】是一款专为展示家乡美食而设计的、大气的全站网页模板,适用于构建具有鲜明地域特色和绿色环保理念的美食网站。该模板以绿色为主题,旨在营造一种清新自然、健康美味的视觉体验,让用户在...

    HTML介绍完美版资料.ppt

    "HTML5 介绍完美版资料" HTML5 是 Hypertext Markup Language 超文本标记语言(HTML)的第五次重大修改。它是一个新的网络标准,目标是取代现有的 HTML 4.01 和 XHTML 1.0 标准。HTML5 希望能够减少互联网应用(RIA...

    单页html5介绍网站模板

    单页HTML5介绍网站模板是现代网页设计中一种流行的趋势,尤其适用于个人作品展示、小型企业宣传或简单项目介绍。这种模板将所有内容整合到一个单一的页面上,通过滚动来浏览不同部分,提供了一种简洁且直观的用户...

    HTML5简介ppt

    html5的入门

    HTML 5 从入门到精通

    ### HTML5介绍 HTML5是万维网联盟(W3C)制定的标准,旨在改进其前身HTML4的功能。它引入了许多新特性,包括多媒体支持、绘图功能、本地存储以及增强的表单控件等,使网页开发者能够创建更加动态和丰富的网络应用。...

    分享最好的HTML5编码教程和参考手册

    - **ScrubdinHTML5**:一份详尽的HTML5介绍资料,适合初学者快速入门。 - **Scribd的HTML5图例演讲**:通过视觉化的方式,帮助理解HTML5的关键概念和技术。 - **HTML5WTF**:由Simon Schoeters编写,深入浅出地讲解...

    深入学习PHP,MySQL,javascript,CSS,html5

    4. CSS和HTML5介绍: CSS(层叠样式表)和HTML5是构成现代Web前端的基石。CSS负责定义网页的样式,包括布局、颜色、字体等,而HTML5是最新版本的超文本标记语言,它引入了许多新的元素和属性,使得HTML更加语义化,...

Global site tag (gtag.js) - Google Analytics