Html5入门应用技巧,初学者必读

Web技术的发展速度太快了,如果你不与时俱进,就会被淘汰。因此,为了应对即将到来的HTML5,本文总结了22个HTML5的初级技巧,希望能对你进一步学习好HTML5会有所帮助。

1. 新的Doctype声明

XHTML的声明太长了,我相信很少会有前端开发人员能手写出这个Doctype声明。

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"">

HTML5的Doctype声明很短,看到这个声明相信你马上就能记住,不用浪费脑细胞去记那长的有点变态的XHTML的Doctype声明了。

  1. <!DOCTYPE html>

HTML5的简短的DOCTYPE声明是让Firefox、Chrome等现代浏览器和IE6/7/8等浏览器都进入(准)标准模式,你可能会奇怪 IE6/7居然也可以支持HTML5 Doctype,事实上,IE是只要doctype符合 这种格式,都会进入标准模式。

2. <figure>标签

看看下面一段简单的代码:

  1. <img src="path/to/image" alt="About image">
  2. <h6>Image of Mars.</h6>

遗憾的是,这里的h6标签和img标签好像没有什么关系,语义不够明确。HTML5意识到了这一点,于是就采用了<figure>标签。当<figure>结合<figcaption>标签的使用,可以让h6标签和img标签组合起来,代码就更具语义化了。

  1. <figure>
  2. <img src="path/to/image" alt="About image">
  3. <figcaption>
  4. <h6>This is an image of something interesting. </h6>
  5. </figcaption>
  6. </figure>

3. 重新定义<small>

不久前,我使用了<small>标签来创建与logo相关的副标题。但是在HTML5中重新定义了<small>标签,使之更能表现语义化,在<small>的字号都会变小,想想如果这个标签用于网站的底部的版权信息还是个不错的做法。

4. 去掉了Javascript和CSS标签的type属性

通常你会在<link>和<script>加上type属性:

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

在HTML5中,不再需要type属性了,因为这显得有点多余,去掉之后可以让代码更为简洁。

  1. <link href="path/to/stylesheet.css">
  2. <script src="path/to/script.js"></script>

5. 是否使用双引号

这有点让人纠结,HTML5并不是XTHML,你可以省去标签中的双引号。相信大多数同志也包括我都习惯了加上双引号,因为这让代码看起来会更标准。不过,这可以根据你的个人喜好来确定是到底要不要双引号。

  1. <h6 class="myClass" id="someId"> Start the reactor.   </h6>

6. 使网页内容可以编辑

这是HTML5新增的一个功能,在标签中加上一个contenteditable属性,并且设置值为true,就可以直接在页面上编辑这个标签的内容,包括这个标签的子级标签的内容。有了这个属性,你可以利用这个属性完成很多事,比如在网页中编辑一个待办事项的清单。

  1. <h6 contenteditable="true">Break mechanical cab <span>driver</span></h6>

7. 电子邮件输入框

HMTL5中新增了一个输入框的电子邮件属性,可以检测输入的内容是否符合电子邮件的书写格式,功能越来越强大了吧,在HTML5之前只能依靠JS来检测。虽然内置的表单验证功能很快就会成为现实,但这个属性很多浏览器都还不支持,只会当作普通的文本输入框来处理。

  1. <form method="get">
  2. <label for="email">Email:</label>
  3. <input id="email" name="email" type="email">
  4. <button> Submit Form </button>
  5. </form>

到目前为止,包括现代浏览器在内都不支持该属性,所以这个属性暂时还是靠不住的。

8. 占位符

文本框中的占位符(看看本博的搜索框效果)有利于提升用户体验,之前,我们只能依靠JS来实现占位符的效果,在HTML5中新增了占位符属性placeholder。

  1. <input name="email" placeholder="[email protected]" type="email">

同样,目前的主流现代浏览器对该属性的支持不大好,暂时只有Chrome和Safari支持该属性,Firefox和Opera不支持该属性。

9. 本地存储

HTML5的本地存储功能,可以让现代浏览器“记住”我们输入的,就算浏览器关闭和刷新也不会受影响。虽然这个功能有些浏览器不支持,但是IE8, Safari 4, 还有 Firefox 3.5还是支持这个功能的,你可以测试下。

10. 更有语义的header和footer

下面的代码在HTML5中将不复存在

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

通常我们都会给header和footer定义一个div,然后再添加一个id,但是在HTML5中可以直接使用<header>和<footer>标签,所以可以将上面的代码改写成:

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

要注意不要将这两个标签和网站的头部和页脚混淆起来,它们只是代表它们的容器。

11. IE对HTML5的支持

IE浏览器目前对HTML5的支持并不好,也是阻碍HTML5的更快普及的一大绊脚石,不过,IE9对HTML5的支持度还是很不错的。

IE把HTML5新增的标签都解析成内联元素,而实际上它们是块级元素,所以有必要为它们定义一个样式:

  1. header, footer, article, section, nav, menu, hgroup {
  2. display: block;
  3. }

尽管如此,IE还是不能解析这些新增的HTML5标签,这个时候就需要借助Javascript来解决这个问题:

  1. document.create_rElement_x("article");
  2. document.create_rElement_x("footer");
  3. document.create_rElement_x("header");
  4. document.create_rElement_x("hgroup");
  5. document.create_rElement_x("nav");
  6. document.create_rElement_x("menu");

你可以借助这一段Javascript代码来修复IE更好的解析HTML5

  1. <!-->
  2. <script mce_src="></script>
  3. <![endif]-->

12. 标题群( hgroup)

这个类似于第二点技巧。如果用h1和h2标签分别表示网站的名称和副标题,但这会让两个本义上密切相关的标题并没有关联起来。这个时候可以使用<hgroup>标签将它们组合起来,这样代码会更有语义。

  1. <header>
  2. <hgroup>
  3. <h1> Recall Fan Page </h1>
  4. <h2> Only for people who want the memory of a lifetime. </h2>
  5. </hgroup>
  6. </header>

13. 必填项属性

前端人员肯定做过不少表单验证的项目,其中很重要的一点就是有些输入框的内容是必须填写的,这里就需要使用Javascript来检查。在 HTML5中,新增了一个“必须填写”的属性:required。required属性有两种使用方法,第二种方法显得更有结构性,而第一种更简洁。

  1. <input type="text" name="someInput" required>
  2. <input type="text" name="someInput" required="required">

有了这个属性,使表单的提交验证变得更简单了,看看下面简单的例子:

  1. <form method="post">
  2. <label for="someInput"> Your Name: </label>
  3. <input id="someInput" name="someInput" placeholder="Douglas Quaid" required="required" type="text">
  4. <button>Go</button>
  5. </form>

如果输入框为空,表单将无法提交成功。

14. 自动获取焦点

同样的,HTML5也不再需要Javascript来解决输入框的自动获取焦点,如果某个输入框应当被选择或是获取到输入焦点,HTML5新增了自动获取焦点属性autofocus:

  1. <input name="someInput" placeholder="Douglas Quaid" required="required" type="text">

autofocus也同样可以写成”autofocus=autofocus”,这样看起来标准些,这个根据自己的个人喜好而定。

15. 音频播放的支持

HTML5中提供了<audio>标签,解决了以往必须依靠第三方插件才能播放音频文件的问题。目前为止,还只有少数的最新浏览器支持该标签。

  1. <audio tabindex="0" controls="controls">
  2. <source src="file.ogg">
  3. <source src="file.mp3">
  4. <a href="file.mp3">Download this file.</a>
  5. </audio>

为什么会有两种格式的音频文件?因为Firefox和Webkit浏览器所支持的格式存在差异,Firefox只能支持.ogg文件,而 Webkit只支持.mp3的文件,解决的办法就是创建两个版本的音频文件,这样就可以兼容Firefox和Webkit的浏览器了,需要注意的是IE不支持该标签。

16. 视频播放的支持

和<audio>标签一样,HTML5也提供了<video>标签对播放视频文件的支持。YouTube也宣布了一项新的 HTML5的视频嵌入。不过有点遗憾,HTML5的规范并没有指定特定的视频解码器,而是让浏览器自己来决定。这就造成了个浏览器的兼容问题,虽然 Safari和IE9都支持还H.264格式的视频( Flash 播放器可以可以播放),Firefox和Opera则支持开源的Theora和Vorbis格式。因此,当显示HTML5视频的时候,也得准备2种格式。

  1. <video tabindex="0" controls="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. <div> Your browser is old. <a href="cohagenPhoneCall.mp4">Download this video instead.</a> </div>
  5. </video>

需要注意的是,type属性虽然可以省略掉,但是如果加上的话,浏览器就可以更快的准确的解析该视频文件。并不是所有的浏览器都支持HTML5的视频,所以得做好使用Flash版本来代替,当然,这个决定权在于你。

17. 预加载视频

预加载属性:preload,首先要确定是否需要预先加载视频,假如,访客在访问一个有很多视频展示的页面,那么就有必要预先加载一段视频,这样可以节省访客的等待时间,提高用户体验。你可以给<video>标签添加一个preload属性来实现预先加载的功能。

  1. <video tabindex="0" preload="preload">
  2. ...
  3. </video>

18. 显示控件

显示控件属性可以给视频添加一个播放暂停的控件,需要注意的是每个浏览器显示的效果可能会有些差异。

  1. <video tabindex="0" preload="preload" controls="controls">
  2. ...
  3. </video>

19. 使用正则表达式

在HTML5中,我们可以直接使用正则表达式。

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

20. 检测浏览器对HTML5属性的支持

由于各浏览器对HTML5属性的支持度不同,这就造成了一些兼容问题。但是可以使用方法来检测该浏览器是否支持这些属性,上例中的代码如果要检测pattern属性是否被浏览器识别,可以使用Javascript代码来检测。

  1. alert( ‘pattern‘ in document.create_rElement_x(‘input‘) ) // boolean;

其实这是确定浏览器兼容常用的方法,jQuery库就经常使用这种方法。上面的代码中创建了一个input标签,并检测pattern属性是否被浏览器支持,如果能支持的话,浏览器就支持这个功能,否则就不支持。

  1. <script>
  2. if (!‘pattern‘ in document.create_rElement_x(‘input‘) ) {
  3. // do client/server side validation
  4. }
  5. </script>

21. Mark标签

<mark>标签用于高亮显示那些需要在视觉上向用户突出其重要性的文字,包裹在此标签里的字符串必须与用户当前的行为相关。例如,如果我在一些博客中搜索“Open your Mind” ,我可以使用在<mark>标签里使用JavaScript 来包裹每一次动作。

  1. <h3> Search Results </h3>
  2. <h6> They were interrupted, just after Quato said, <mark>"Open your Mind"</mark>. </h6>

22. 该如何正确的使用div标签

有些人可能会有疑问,有了<header>和<footer>等这些标签,<div>标签在HTML5中还有用吗?答案是肯定的,比如你想创建一个能包裹特殊内容的容器自由灵活的<div>肯定是首选,而你要创建一篇文章或者一个导航菜单,建议你使用更有语义的<article>和<nav>标签。

很多人认为HTML5可能还是很遥远的事,所以直接无视,其实不然,现在很多网站都已经开始使用HTML5了,事实上,HTML5的一些新增属性和功能是让代码变得更简洁,这总归是一件好事,应该值得我们推崇。最后感谢你阅读了这篇HTML5的入门级文章,希望能为你进一步学习HTML5提供一些帮助。

摘自:http://www.cnblogs.com/radom/archive/2012/02/09/2344643.html ,感谢random

时间: 2024-10-05 18:57:26

Html5入门应用技巧,初学者必读的相关文章

【活动】不用买书,不用花钱,可以免费看HTML5入门连载了

清华大学出版社推出的<HTML 5网页开发实例详解>适合HTML 5开发初学者和前端开发工程师.本书一经上市,就获得了读者的一致好评,为感谢读者,推出本书的连载活动.   本书术新颖.与时俱进,结合时下最热门的技术,如Node.js.响应式设计.移动开发.MVC,让读者在学习HTML 5的同时,了解熟识更多相关的世界先进技术.对于无法全面讲解的一些框架,还给出了GitHub的详细地址供读者参考. 本书贴近读者.贴近实际,大量成熟第三方组件和框架的使用和说明,帮助读者快速找到问题的最优解决方案,

二十八个 HTML5 特性与技巧

1. New Doctype  你还在使用令人讨厌的难记的XHTML文档类型声明吗?<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>如果还在用,为什么呢?如同Douglas Quaid所说,转到新的HTML5这种文档类型吧,它会使你看起来更年轻.实际上,你当真知道XHTML的文档类型声明

Sublime Text 2 入门及技巧

Sublime Text 2 入门及技巧 看了 Nettuts+ 对 Sublime Text 2 的介绍,立刻就兴奋了,诚如作者 Jeffrey Way 所说:“<永远的毁灭公爵>都发布了,TextMate 2 还没发”,你还能指望它么?TextMate 开发者的消极态度已经无法让人忍受了.而作为一款跨 OS X.Linux 和 Windows 三大系统平台的文字编辑器,Sublime Text 2 功能日进,大有取 TextMate 而代之的势头, 以下就将 Nettuts+ 的这篇文章做

小程序入门经典技巧

小程序入门经典技巧 1:小程序如何设置页面路径?2:小程序如何设置默认页面窗口表现?3:小程序如何设置底部tab表现?4:小程序如何设置网络超时时间?5:小程序如何进行数据绑定? 小程序如何设置页面路径? 小程序如何设置默认页面窗口表现? 小程序如何设置底部tab表现? 小程序如何设置网络超时时间? Q:小程序如何进行数据绑定? https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/data.html   Q:小

应用程序框架实战十二:公共操作类开发技巧(初学者必读)

本文专门为初学者而写,因为很多初学者可能还不了解公共操作类的作用和封装技巧,大部分有经验的程序员都会把自己所碰到的技术问题整理封装成类,这就是公共操作类.公共操作类往往具有一些通用性,也可能专门解决某些棘手问题.公共操作类是应用程序框架的核心,主要目标是解决大部分技术问题.我将在本文介绍封装公共操作类的要点,供初学者参考. 开发公共操作类的原因 很多初学者会奇怪,.Net Framework提供的API相当易用,为何还要多此一举,进行一层封装呢.下面列举封装公共操作类的一些动机. .Net Fr

初学者必读的Linux入门到精通

课程介绍 本套课程是从入门开始的Linux学习课程,适合初学者阅读.由浅入深案例丰富,通俗易懂.主要涉及基础的系统操作以及工作中常用的各种服务软件的应用.部署和优化.即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅. 课程目标 掌握linux安装配置调优 适合人群 零基础学员 课时列表 课时1:VMware虚拟机安装 课时2:Linux简介与安装 课时3:Linux基本命令 课时4:LINUX基本命令2 课时5:LINUX基本命令3 课时6:VI编辑器 课时7:VI编辑器2 课

域名投资入门和技巧

转载自:http://www.fanis.cn/post/2 今天来聊聊域名投资入门. 域名:在域名出现之前,人们用IP地址来访问网站.但IP地址既长又没有意义, 但这怎么能难倒我们聪明的小伙伴们呢,他们立即想出来字符串代替的方法来访问网站,域名出现了. ICANN:全称是The Internet Corporation for Assigned Names and Numbers(互联网名称与数字地址分配机构),负责在全球范围内对互联网唯一标识符系统及其安全稳定的运营进行协调的非营利组织,包括

HTML5入门指南

如今WEB技术风云变化,HTML5异军突起,我将带领各位领略HTML5的风采魅力. HTML5到底是什么? 一般广义而言的HTML5则包含了HTML.CSS和JavaScript三个部分,而不只是第一印象仅仅HTML部分而已,在CSS 3和JavaScript层面也有许多的创新,让整个网页从布局到处理都更加给力,新囊括的技术让之前实现相当困难且安全性危机重重的功能变为了现实, HTML5好处-为什么要用HTML5 THML5在布局上更得体,记得以前的主流table过渡到主流div:今的布局对搜索

12个不为大家熟知的HTML5设计小技巧

慎用向右滑动操作.慎用横屏展示效果.按钮原理页面底部.使用SVG格式做矢量图-- 以上提到的技巧全都出自今天这篇好文,简单小巧但实操性很强,作为设计师,也要尽量避开这些坑. 1.交互上,慎用向右滑动的操作方式. 如:刮刮乐涂抹效果,左右滑动翻页等. 原因:苹果手机上,向右滑动容易触发返回"上一级页面"效果. 2.交互上,慎用横屏展示效果. 原因:体验上,需要用户设备开启屏幕旋转功能,才能正常观看,用户操作成本高.对不同屏幕的手机,长宽比例不一,难以展示最佳的视觉效果. 3.视觉上,功能