22 个常见的HTML5技巧和实际应用

前端开发这个行业发展飞速,特别是即将普遍的HTML5,本文将整理HTML5的基本使用。对于HTML5的新增属性,

1,新DOCTYPE
还在使用那个讨厌的的标准doctype?试试下面这个

<!DOCTYPE HTML >

  1. <figure>标签(图元素)
    <figure>
    <img src="path/to/image" alt="About image">
    <figcaption>
    <h6>This is an image of something interesting. </h6>
    </figcaption>
    </figure>
  2. small重新定义
    不久前,我使用了<small>标签来创建与logo相关的副标题。但是在HTML5中重新定义了<small>标签,使之更能表现语义化,在<small>的字号都会变小,想想如果这个标签用于网站的底部的版权信息还是个不错的做法。
  3. 去掉了Javascript和CSS标签的type属性
    在HTML5中,不再需要type属性了,因为这显得有点多余,去掉之后可以让代码更为简洁。

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

  1. 是否使用双引号
    <h6 id="someId"> Start the reactor.? </h6>
  2. 使网页内容可以编辑
    <h6 contenteditable="true">Break mechanical cab <span>driver</span></h6>
  3. 电子邮件输入框
    HMTL5中新增了一个输入框的电子邮件属性,可以检测输入的内容是否符合电子邮件的书写格式,功能越来越强大了吧,在HTML5之前只能依靠JS来检测。虽然内置的表单验证功能很快就会成为现实,但这个属性很多浏览器都还不支持,只会当作普通的文本输入框来处理。

<form method="get">
<label for="email">Email:</label>
<input id="email" name="email" type="email">
<button> Submit Form </button>
</form>

  1. 占位符
    <input name="email" placeholder="[email protected]" type="email">
  2. 本地存储
    HTML5的本地存储功能,可以让现代浏览器“记住”我们输入的,就算浏览器关闭和刷新也不会受影响。虽然这个功能有些浏览器不支持,但是IE8, Safari 4, 还有 Firefox 3.5还是支持这个功能的,你可以测试下。自己是一个五年的全栈工程师,这里推荐一下我的前端学习交流君羊:前面是四八四,中间七五七,最后七六零,群里会不定期更新最新的教程和学习方法,有想学习web前端的,或是转行,或是大学生,还有工作中想提升自己能力的web前端党欢迎加入,

    ?
  3. 更有语义的header和footer
    <header>
    ...
    </header>

<footer>
...
</footer>

  1. 标题群( hgroup)
    <header>
    <hgroup>
    <h1> Recall Fan Page </h1>
    <h2> Only for people who want the memory of a lifetime. </h2>
    </hgroup>
    </header>
  2. 必填项属性
    前端人员肯定做过不少表单验证的项目,其中很重要的一点就是有些输入框的内容是必须填写的,这里就需要使用Javascript来检查。在HTML5中,新增了一个“必须填写”的属性:required。

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

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

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

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

<audio tabindex="0" autoplay="autoplay" controls="controls">
<source src="file.ogg">
<source src="file.mp3">
<a href="file.mp3">Download this file.</a>
</audio>
为什么会有两种格式的音频文件?因为Firefox和Webkit浏览器所支持的格式存在差异,Firefox只能支持.ogg文件,而Webkit只支 持.mp3的文件,解决的办法就是创建两个版本的音频文件,这样就可以兼容Firefox和Webkit的浏览器了,需要注意的是IE不支持该标签。

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

<video tabindex="0" controls="" preload="">
<source src="cohagenPhoneCall.ogv" type="video/ogg; codecs=‘vorbis, theora‘">
<source src="cohagenPhoneCall.mp4" type="video/mp4; ‘codecs=‘avc1.42E01E, mp4a.40.2‘">
<div> Your browser is old. <a href="cohagenPhoneCall.mp4">Download this video ×××tead.</a> </div>
</video>

  1. 预加载视频
    <video tabindex="0" preload="preload">
    ...
    </video>
  2. 显示控件
    显示控件属性可以给视频添加一个播放暂停的控件,需要注意的是每个浏览器显示的效果可能会有些差异。

<video tabindex="0" preload="preload" controls="controls">
...
</video>

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

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

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

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

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

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

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

原文地址:https://blog.51cto.com/14400425/2409247

时间: 2024-10-14 11:05:43

22 个常见的HTML5技巧和实际应用的相关文章

10个最常见的 HTML5 面试题及答案

10个最常见的 HTML5 面试题及答案 1.新的 HTML5 文档类型和字符集是? HTML5 文档类型很简单: HTML5 使用 UTF-8 编码 2.HTML5 中如何嵌入音频? HTML5 支持 MP3.Wav 和 Ogg 格式的音频,下面是在网页中嵌入音频 3.HTML5 中如何嵌入视频? 和音频类似,HTML5 支持 MP4.WebM 和 Ogg 格式的视频 4.除了 audio 和 video,HTML5 还有哪些媒体标签? HTML5 对于多媒体提供了强有力的支持,除了 audi

常见性能优化技巧总结

一.多用有序数组+折半查找金山卫士开源后立马招来各种批判,其中有一段批评金山卫士源码说太多if else而不用表驱动使得代码可读性不高,笔者看了下大致如下: TCHAR szFolderPath[MAX_PATH + 1] = {0}; // MichaelPeng: if else太多,应做成表驱动 if (0 == _tcsicmp(szVariable, _T("%Desktop%"))) { ::SHGetSpecialFolderPath(NULL, szFolderPath

优化移动体验的HTML5技巧

简介 连轴转的刷新,不断变向的页面转换,以及tap事件的周期性的延迟仅仅是现在移动web环境令人头疼事情的一小部分.开发者正试图尽可能的靠近原生应用,但却经常被各种兼容问题,系统复位,和僵化的框架打乱步调. 在这篇文章中,我们将讨论创建一个移动HTML 5 web app需要的最低限度的东西.主要观点是去除现在移动框架试图隐藏的隐含复杂性.你会看到一个简约方法(使用核心的HTML 5APIs)和使你能够写出自己的框架或给你现在在用的框架贡献代码的基本原则. 硬件加速 通常情况下,GPUs处理精细

前端开发中常见的HTML5标签乱用案例

一.不要使用section作为div的替代品 人们在标签使用中最常见到的错误之一就是随意将HTML5的<section>等价于<div>——具体地说,就是直接用作替代品(用于样式).在XHTML或者HTML4中,我们常看到这样的代码: 12345678910111213141516 <!-- HTML 4-style code --><div id="wrapper">  <div id="header">

前端学习笔记--16/5~22/5 jQuery,HTML5+CSS3+JS 简易微信贺卡开发

先写一下上周的总结,基本上没有偷懒,每天都有认真学习前端知识.但是有一点目标不清晰.我上周订下来的计划只完成了50%,即是只完成了坐H5+CSS3+JS的小demo.imooc上的jQuery练习并没有完成,而且还差不少. 周六去了一天潜江吃大虾,不过作为弥补,星期天一整天又把缺的时间补回来了. 至于健身,上周属于间隔期,不过在周日这些计划也都重新启动了.到今天也已经完成了执行. 下面来单步跟踪一下每天学的只是吧. 5.16 jQuery使用each()方法遍历元素. 语法: $(selecto

Thinkphp编程中几种常见的实用技巧讲解

在Thinkphp编程中集成了很多用起来非常方便的方法.对于刚接触的编程人员来说,可谓是只要掌握并灵活运用了,那么就可以达到事半功倍的效果了,下面就来为大家详细的讲解一下. 1. getField getField的方便之处在于可以获取一个值,一个数组,或者一组键值对. 接下来举三个例子简单说明. A. 获取一个值. 在修改密码的方法中,要验证旧密码是否匹配.现已知用户id为$uid. 则$old_pass = $Model->where("uid='$uid'")->ge

jQuery 常见开发使用技巧总结

1.关于页面元素的引用 通过jquery的$()引用元素包括通过id.class.元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery对象(集合对象),不能直接调用dom定义的方法. 2.jQuery对象与dom对象的转换 只有jquery对象才能使用jquery定义的方法.注意dom对象和jquery对象是有区别的,调用方法时要注意操作的是dom对象还是jquery对象. 普通的dom对象一般可以通过$()转换成jquery对象. 如:$(document.ge

Perl命令行常见用法及技巧

作者:懒人运维 来源: 懒人运维   替换 将所有C程序中的foo替换成bar,旧文件备份成.bak perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c 很强大的功能,特别是在大程序中做重构.记得只有在UltraEdit用过. 如果你不想备份,就直接写成 perl -p -i -e 或者更简单 perl -pie, 恩,pie这个单词不错 将每个文件中出现的数值都加一 perl -i.bak -pe 's/(\d+)/ 1 + $1 /ge' file1 file2

Android 常见错误和技巧

1.无法使用网络 :Permission denied(maybe missing internet permission) 答:在AndroidMainifest.xml中增加允许使用网络选项(结束标签之后>): Java代码: uses-permission android:name="android.permission.INTERNET" /> 复制代码 2.找不到activity类: android.content.ActivityNotFoundExceptio