全国咨询/投诉热线:400-618-9090

首页技术文章正文

Web前端开发培训之HTML5 如何重新定义web

更新时间:2017-06-21 来源:黑马程序员web前端开发培训学院 浏览量:

HTML5的标签重新定义,其属性更加简单高效,本地存储、缓存技术更加完善,简单易用,最重要的是其游戏开发方面,canvas的绘制,加之以用于开发3D游戏,更加方便快捷,无需下载,打开浏览器就可以玩。对视频音频的支持也更加完美,是web的重大革新。另本文总结了HTML5带来的15项你必须知道的新特性(偏基础)。

一起来看下:

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

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

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  3. >
复制代码

在HTML5中,上面那种声明方式将失效。下面是HTML5中的声明方式:
  1. <!DOCTYPE html
  2. >
复制代码

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

在HTML4或XHTML中,你需要用下面的几行代码来给你的网页添加CSS和JavaScript文件。

  1. <link rel="stylesheet" href="css/stylesheet.css" type="text/css" />
  2. <script type="text/javascript" src="js/script.js"></script>
复制代码

而在HTML5中,你不再需要指定类型属性。因此,代码可以简化如下:
  1. <link rel="stylesheet" href="css/stylesheet.css" />
  2. <script src="js/script.js"></script>
复制代码

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

在HTML4或XHTML中,你需要用下面的代码来声明"Header"和"Footer"。

  1. <div id="header">
  2. ... 
  3. </div>
  4. .......... 
  5. <div id="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>
  4. Recall Fan Page 
  5. </h1> 
  6. <h2>
  7. Only for people who want the memory of a lifetime. 
  8. </h2>
  9. </hgroup>
  10. </header>
复制代码

5.标记元素 (Mark Element)

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

  1. <h3>
  2. Search Results 
  3. </h3>
  4. <p>
  5. They were interrupted, just after Quato said, 
  6. <mark>
  7. "Open your Mind"
  8. </mark>
  9. . 
  10. </p>
复制代码

6.图形元素 (Figure Element)

在HTML4或XHTML中,下面的这些代码被用来修饰图片的注释。

  1. <img src="images/image" alt="About image" />
  2. <p>
  3. Image of Mars. 
  4. </p>
复制代码

然而,上述代码没有将文字和图片内在联系起来。因此,HTML5引入了<figure>元素。当和<figcaption>结合起来后,我们可以语义化地将注释和相应的图片联系起来。
  1. <figure>
  2. <img src="path/to/image" alt="About image" />
  3. <figcaption>  
  4. <p>
  5. This is an image of something interesting. 
  6. </p>
  7. </figcaption>
  8. </figure>
复制代码

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

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

8.占位符 (Placeholder)

在HTML4或XHTML中,你需要用JavaScript来给文本框添加占位符。比如,你可以提前设置好一些信息,当用户开始输入时,文本框中的文字就消失。
而在HTML5中,新的“placeholder”就简化了这个问题。


9.必要属性 (Required Attribute)

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

<input type="text" name="someInput" required>

<input type="text" name="someInput" required="required">

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

  1. <form method="post" action="">
  2. <label for="someInput">
  3. Your Name: 
  4. </label>
  5. <input type="text" id="someInput" name="someInput" placeholder="Douglas Quaid" required>
  6. <button type="submit">
  7. Go
  8. </button>
  9. </form>
复制代码

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

10.Autofocus 属性 (Autofocus Attribute)

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

  1. <input type="text" name="someInput" placeholder="Douglas Quaid" required autofocus>
复制代码

11.Audio 支持 (Audio Support)

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

  1. <audio autoplay="autoplay" controls="controls">     
  2. <source src="file.ogg" />     
  3. <source src="file.mp3" />     
  4. <a href="file.mp3">
  5. Download this file.
  6. </a>
  7. </audio>
复制代码

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

12.Video 支持 (Video Support)

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

  1. <video controls preload>
  2. <source src="cohagenPhoneCall.ogv" type="video/ogg; codecs='vorbis, theora'" />
  3. <source src="cohagenPhoneCall.mp4" type="video/mp4; 'codecs='avc1.42E01E, mp4a.40.2'" />
  4. <p>
  5. Your browser is old. 
  6. <a href="cohagenPhoneCall.mp4">
  7. Download this video instead.
  8. </a>
  9. </p>
  10. </video>
复制代码

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

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

  1. <video preload>
复制代码

14.显示控制条 (Display Controls)

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

<
video preload controls
>

15.正规表达式 (Regular Expressions)

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

  1. <form action="" method="post">
  2. <label for="username">
  3. Create a Username: 
  4. </label>    
  5. <input type="text" name="username" id="username" 
  6.     placeholder="4 <> 10" 
  7.     pattern="[A-Za-z]{4,10}" 
  8.     autofocus 
  9.     required>
  10. <button type="submit">
  11. Go 
  12. </button>
  13. </form>
复制代码


本文版权归黑马程序员web前端开发学院所有,欢迎转载,转载请注明作者出处,谢谢!
作者:黑马程序员web前端培训学院;
首发:http://web.itheima.com/ 

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

http://www.itcast.cn/subject/uizly/index.shtml?seozxuids

14天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

20天免费试学

基础班入门课程限时免费

申请试学名额

8天免费试学

基础班入门课程限时免费

申请试学名额

20天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

0天免费试学

基础班入门课程限时免费

申请试学名额

12天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

10天免费试学

基础班入门课程限时免费

申请试学名额
在线咨询 我要报名