`
piperzero
  • 浏览: 3480839 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

开发者必须知道的HTML5十五大新特性

 
阅读更多

HTML5想必大家都很熟悉了,因为太多的媒体在讨论这一技术。然而,你能准确地说出HTML5带来了哪些新特性吗?本文总结HTML5带来的15项你必须知道的新特性

一起来看下:

1.新的文档类型 (New Doctype)

目前许多网页还在使用XHTML1.0并且要在第一行像这样声明文档类型:

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

HTML5中,上面那种声明方式将失效。下面是HTML5中的声明方式:

  1. <!DOCTYPEhtml>

2.脚本和链接无需type (No More Types for Scripts and Links)

HTML4XHTML中,你需要用下面的几行代码来给你的网页添加CSSJavaScript文件。

  1. <linkrel="stylesheet"href="path/to/stylesheet.css"type="text/css"/>
  2. <scripttype="text/javascript"src="path/to/script.js"></script>

而在HTML5中,你不再需要指定类型属性。因此,代码可以简化如下:

  1. <linkrel="stylesheet"href="path/to/stylesheet.css"/>
  2. <scriptsrc="path/to/script.js"></script>

3.语义HeaderFooter (The Semantic Header and Footer)

HTML4XHTML中,你需要用下面的代码来声明"Header""Footer"

  1. <divid="header">
  2. ...
  3. </div>
  4. ..........
  5. <divid="footer">
  6. ...
  7. </div>

HTML5中,有两个可以替代上述声明的元素,这可以使代码更简洁。

  1. <header>
  2. ...
  3. </header>
  4. <footer>
  5. ...
  6. </footer>

4.Hgroup

HTML5中,有许多新引入的元素,hgroup就是其中之一。假设我的网站名下面紧跟着一个子标题,我可以用<h1><h2>标签来分别定义。然而,这种定义没有说明这两者之间的关系。而且,h2标签的使用会带来更多问题,比如该页面上还有其他标题的时候。

HTML5中,我们可以用hgroup元素来将它们分组,这样就不会影响文件的大纲。

  1. <header>
  2. <hgroup>
  3. <h1>RecallFanPage</h1>
  4. <h2>Onlyforpeoplewhowantthememoryofalifetime.</h2>
  5. </hgroup>
  6. </header>

5.标记元素 (Mark Element)

你可以把它当做高亮标签。被这个标签修饰的字符串应当和用户当前的行动相关。比如说,当我在某博客中搜索“OpenyourMind”时,我可以利用一些JavaScript将出现的词组用<mark>修饰一下。

  1. <h3>SearchResults</h3>
  2. <p>Theywereinterrupted,justafterQuatosaid,<mark>"OpenyourMind"</mark>.</p>

6.图形元素 (Figure Element)

HTML4XHTML中,下面的这些代码被用来修饰图片的注释。

  1. <imgsrc="path/to/image"alt="Aboutimage"/>
  2. <p>ImageofMars.</p>

然而,上述代码没有将文字和图片内在联系起来。因此,HTML5引入了<figure>元素。当和<figcaption>结合起来后,我们可以语义化地将注释和相应的图片联系起来。

  1. <figure>
  2. <imgsrc="path/to/image"alt="Aboutimage"/>
  3. <figcaption>
  4. <p>Thisisanimageofsomethinginteresting.</p>
  5. </figcaption>
  6. </figure>

7.重新定义<small> (Small Element redefined)

HTML4XHTML中,<small>元素已经存在。然而,却没有如何正确使用这一元素的完整说明。在HTML5中,<small>被用来定义小字。试想下你网站底部的版权状态,根据对此元素新的HTML5定义,<small>可以正确地诠释这些信息。

8.占位符 (Placeholder)

HTML4XHTML中,你需要用JavaScript来给文本框添加占位符。比如,你可以提前设置好一些信息,当用户开始输入时,文本框中的文字就消失。

而在HTML5中,新的“placeholder”就简化了这个问题。

9.必要属性 (Required Attribute)

HTML5中的新属性“required”指定了某一输入是否必需。有两种方法声明这一属性。

  1. <inputtype="text"name="someInput"required>
  2. <inputtype="text"name="someInput"required="required">

当文本框被指定必需时,如果空白的话表格就不能提交。下面是一个如何使用的例子。

  1. <formmethod="post"action="">
  2. <labelfor="someInput">YourName:</label>
  3. <inputtype="text"id="someInput"name="someInput"placeholder="DouglasQuaid"required>
  4. <buttontype="submit">Go</button>
  5. </form>

在上面那个例子中,如果输入内容空且表格被提交,输入框将被高亮显示。

10.Autofocus属性 (Autofocus Attribute)

同样,HTML5的解决方案消除了对JavaScript的需要。如果一个特定的输入应该是选择聚焦,默认情况下,我们现在可以利用自动聚焦属性。

  1. <inputtype="text"name="someInput"placeholder="DouglasQuaid"requiredautofocus>

11.Audio支持 (Audio Support)

目前我们需要依靠第三方插件来渲染音频。然而在HTML5中,<audio>元素被引进来了。

  1. <audioautoplay="autoplay"controls="controls">
  2. <sourcesrc="file.ogg"/>
  3. <sourcesrc="file.mp3"/>
  4. <ahref="file.mp3">Downloadthisfile.</a>
  5. </audio>

当使用<audio>元素时请记得包含两种音频格式。FireFox想要.ogg格式的文件,而Webkit浏览器则需要.mp3格式的。和往常一样,IE是不支持的,且Opera10及以下版本只支持.wav格式。

12.Video支持 (Video Support)

HTML5中不仅有<audio>元素,而且还有<video>。然而,和<audio>类似,HTML5中并没有指定视频解码器,它留给了浏览器来决定。虽然SafariInternetExplorer9可以支持H.264格式的视频,FirefoxOpera是坚持开源TheoraVorbis格式。因此,指定HTML5的视频必须提供这两种格式。

  1. <videocontrolspreload>
  2. <sourcesrc="cohagenPhoneCall.ogv"type="video/ogg;codecs='vorbis,theora'"/>
  3. <sourcesrc="cohagenPhoneCall.mp4"type="video/mp4;'codecs='avc1.42E01E,mp4a.40.2'"/>
  4. <p>Yourbrowserisold.<ahref="cohagenPhoneCall.mp4">Downloadthisvideoinstead.</a></p>
  5. </video>

13.视频预载 (Preload attribute in Videos element)

当用户访问页面时这一属性使得视频得以预载。为了实现这个功能,可以在<video>元素中加上preload="preload"或者只是preload

  1. <videopreload>

14.显示控制条 (Display Controls)

如果你使用过上面的每一个提到的技术点,你可能已经注意到,使用上面的代码,视频仅仅显示的是张图片,没有控制条。为了渲染出播放控制条,我们必须在video元素内指定controls属性。

  1. <videopreloadcontrols>

15.正规表达式 (Regular Expressions)

HTML4XHTML中,你需要用一些正规表达式来验证特定的文本。而HTML5中新的pattern属性让我们能够在标签处直接插入一个正规表达式。

  1. <formaction=""method="post">
  2. <labelfor="username">CreateaUsername:</label>
  3. <inputtype="text"
  4. name="username"
  5. id="username"
  6. placeholder="4<>10"
  7. pattern="[A-Za-z]{4,10}"
  8. autofocus
  9. required>
  10. <buttontype="submit">Go</button>
  11. </form>

结论

事实上,还有很多新元素和特性,上面提到的只是一些我认为网站开发中常用的,剩下的就由你们自己去摸索啦。

文章出自:http://www.ansoncheung.tk/

分享到:
评论

相关推荐

    开发者必须知道的HTML5十五大新特性.docx

    开发者必须知道的HTML5十五大新特性.docx

    PHP基础教程 是一个比较有价值的PHP新手教程!

    因此你必须有办法将两者区别开来。以下就是你可以采用的几种方法。你可以选用其中一种你最适应的并且就这样坚持这种方法! 从HTML中分离 以下是可以使用的方法: &lt;script language="php"&gt; . . . 语句 与Perl...

    基于SSH2+Maven+EasyUI+MySQL技术实战开发易买网电子商务交易平台

    开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。现在几乎只要软件开发项目,越来越多的公司采用富客户端技术,由于extjs过于宠大,及学习成本较高,更...

    最新Java面试宝典pdf版

    五. 数据库部分 91 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 91 2、列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序 91 3、存储过程与触发器必须讲,经常被...

    Java面试宝典2012新版

    五. 数据库部分 91 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 91 2、列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序 91 3、存储过程与触发器必须讲,经常被...

    java开源包5

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    C#微软培训资料

    第十五章 接 口 .174 15.1 组件编程技术 .174 15.2 接 口 定 义 .177 15.3 接口的成员 .178 15.4 接口的实现 .182 15.5 抽象类与接口 .195 15.6 小 结 .196 第十六章 组织应用程序 .198 16.1 基 本 ...

    JAVA上百实例源码以及开源项目

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    JAVA上百实例源码以及开源项目源代码

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java开源包4

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包7

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    Java面试笔试资料大全

    五. 数据库部分 91 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 91 2、列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序 91 3、存储过程与触发器必须讲,经常被...

    java开源包2

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    JAVA面试宝典2010

    五. 数据库部分 91 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 91 2、列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序 91 3、存储过程与触发器必须讲,经常被...

    Java面试宝典-经典

    五. 数据库部分 91 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 91 2、列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序 91 3、存储过程与触发器必须讲,经常被...

    Java面试宝典2010版

    五. 数据库部分 91 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 91 2、列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序 91 3、存储过程与触发器必须讲,经常被...

    java面试题大全(2012版)

    五. 数据库部分 91 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 91 2、列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序 91 3、存储过程与触发器必须讲,经常被...

    Java面试宝典2012版

    五. 数据库部分 91 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 91 2、列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序 91 3、存储过程与触发器必须讲,经常被...

    java面试宝典2012

    五. 数据库部分 99 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 99 2、列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序 100 3、存储过程与触发器必须讲,经常被...

Global site tag (gtag.js) - Google Analytics