古人有云:温故而知新。活到老,学到老,作为一枚前端的程序猿,不停的学习能够让我们对我们的技术有一个更加丰富的认识。这几天,项目已经完成,但我发现自己的知识体系存在一些短板,特别是在H5方面,所以我又回过头来对H5进行了一个简单的温习回顾,在此过程中,我又发现了很多好玩的东西。

  H5是一个新的网络标准,因此它提供了一些新的元素和属性,反映了典型的现代用法。并且希望减少浏览器对于丰富的插件的依赖,通过一些语义化H5的新标签及其特性有利于搜索引擎的索引整理、小屏幕装置和视障人士使用。同时也为其他浏览器提供了一些新的功能。

  在对H5的温习回顾中,从新的标签特性开始,拟一篇文章,文章有标题,开头,内容包括章节,结尾,注释等,所以在H5中有了如下标签:

<header>这是页面开头</header>
<article>这是文章内容
<section>这是文章内容章节</section>
</article>
<aside>这是文章内容外的一些其他内容</aside>
<footer>这是页面结尾</footer>

以上标签构成了一个页面的基本框架,但是光有文本是不够的,还需要一些有趣的东西,于是:

<embed src="horse.wav" /> 其他插件的引入
<canvas id="myCanvas" width="200" height="200">canvas画布</canvas>
<audio>音频
<section src='#'>音频资源引入</section>
</audio>
<video>视频
<section src='#'>视频资源引入</section>
</video>

一个页面中肯定要有图片的插入,这时我们就会对图片有个简单的描述或者加上图片的标题:

<figure>
<figcaption>黄浦江上的的卢浦大桥</figcaption>
<img src="shanghai_lupu_bridge.jpg" width="350" height="234" />
</figure>

很好,接下来我们需要的是,给用户一些良好的体验:

<menu>
<command type="command">Click Me!</command>
</menu><!--定义命令按钮,比如单选按钮、复选框或按钮--> <input id="myCar" list="cars" />
<datalist id="cars">
<option value="BMW">
<option value="Ford">
<option value="Volvo">
</datalist><!--标签定义选项列表--> <form action="demo_keygen.asp" method="get">
用户名: <input type="text" name="usr_name">
加密: <keygen name="security">
<input type="submit">
</form><!--密钥生成-->
以及<rt> 给一些字符注音。

我们接着往下对我们的页面进行一个优化,让用户在视觉体验上有一些良好的感觉:

<progress value="22" max="100"></progress>
<!--加载时的一个进度条--> <meter value="3" min="0" max="10">十分之三</meter>
<meter value="0.6">60%</meter>
<!--度量给定范围的数据显示--> <form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0// 计算的逻辑(方式)
<input type="range" id="a" value="50">100+
<input type="number" id="b" value="50">=
<output name="x" for="a b"></output>// 用于显示计算结果
</form><!--对一些结果或者内容进行一个动态输出-->

到这一步,一个页面,加上之前H4的一些标签以及CSS、CSS3样式混合使用进来,一个基本的页面就完成了。如果还需要一些更加深入的交互验证的良好体验:

   <input type="button" value="按钮"/><!-- 按钮 -->
<input type="submit" value="提交"/>><!-- 提交按钮 --> <input type="color"/><!-- 选色板 --> <input type="date"/><!-- 时间 年月日 -->
<input type="datetime"/><!-- UTC时间 存在兼容 -->
<input type="datetime-local"/><!-- 当地时间 年月日时分 -->
<input type="week"/><!-- 周 X年X周 -->
<input type="time"/><!-- 时间 时分 -->
<input type="month"/><!-- 月 年月 -->
<input type="year"/><!-- 年 --> <input type="email"/><!-- 电子邮箱 -->
<input type="file" value="浏览"/><!-- 文件上传 -->
<input type="hidden"/><!-- 存储一些少量的信息 -->
<input type="image" /><!-- 图片 -->
<input type="password" /><!-- 图片 -->
<input type="range" /><!-- 数字控件 -->
<input type="radio" name="sex"/><!-- 单选 -->
<input type="radio" name="sex"/><!-- 单选 -->
<input type="checkbox" name="hobby"/><!-- 复选 -->
<input type="search"/><!-- 搜索 -->
<input type="tel"/><!-- 手机号 手机键盘调出数字键盘 -->
<input type="url"/><!-- URL地址 -->

如此一来,我们的页面就更加地丰富多彩了。

  根据这条逻辑线,对H5的记忆也格外的清晰,以上便是我在对H5的温习回顾中,整理出来的,其实H5增添的一些新标签以及特性并非没有逻辑性,仔细一看,它们还是挺可爱的,你们说呢?

浅谈 温故知新——HTML5!的更多相关文章

  1. 浅谈:html5和html的区别

    什么是html5呢? html5最先由WHATWG(Web 超文本应用技术工作组)命名的一种超文本标记语言,随后和W3C的xhtml2.0(标准)相结合,产生现在最新一代的超文本标记语言.可以简单点理 ...

  2. 浅谈HTML5单页面架构(一)——requirejs + angular + angular-route

    心血来潮,打算结合实际开发的经验,浅谈一下HTML5单页面App或网页的架构. 众所周知,现在移动Webapp越来越多,例如天猫.京东.国美这些都是很好的例子.而在Webapp中,又要数单页面架构体验 ...

  3. 浅谈HTML5单页面架构(二)——backbone + requirejs + zepto + underscore

    本文转载自:http://www.cnblogs.com/kenkofox/p/4648472.html 上一篇<浅谈HTML5单页面架构(一)--requirejs + angular + a ...

  4. 浅谈html5网页内嵌视频

    更好的阅读体验:浅谈html5网页内嵌视频 如今在这个特殊的时代下:flash将死未死,微软和IE的历史问题,html5标准未定,苹果和谷歌的闭源和开源之争,移动互联网的大势所趋,浏览器各自为战... ...

  5. AngularJS进阶(二十五)requirejs + angular + angular-route 浅谈HTML5单页面架构

    requirejs + angular + angular-route 浅谈HTML5单页面架构 众所周知,现在移动Webapp越来越多,例如天猫.京东.国美这些都是很好的例子.而在Webapp中,又 ...

  6. 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理

    [微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...

  7. 浅谈html5 video 移动端填坑记

    这篇文章主要介绍了浅谈html5 video 移动端填坑记,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 本文介绍了html5 video 移动端填坑记,分享给大家,具体 ...

  8. 浅谈WebService的版本兼容性设计

    在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...

  9. 浅谈JS之AJAX

    0x00:什么是Ajax? Ajax是Asynchronous Javascript And Xml 的缩写(异步javascript及xml),Ajax是使用javascript在浏览器后台操作HT ...

随机推荐

  1. 爬虫之requests与bautifullSoup

    requests Python标准库中提供了:urllib.urllib2.httplib等模块以供Http请求,但是,它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作, ...

  2. OSG和ProLand 的海面仿真

    基于OSG的海面仿真 OSG中国官网 http://www.osgchina.org/ OSG-ocean的效果图如下 proland的效果图如下 下面为OSG和OCEAN的配置 配置方法转自 htt ...

  3. android中一个评分的控件

    RatingBar android中一个评分的控件 如何使用 Android Studio下: dependencies { compile 'com.hedgehog.ratingbar:app:1 ...

  4. oracle link的创建过程

    下面做一个测试,在测试中,创建数据库链接的库为XJ(WINDOWS 2003 ORACLE 10g 10.2.0.1),被链接的库为DMDB(LINUX AS5 ORACLE 10g 10.2.0.1 ...

  5. iOS开发系列-ARC浅解

    一.什么是 ARC ? 所谓ARC就是Automatic Reference Counting , 即自动引用计数.ARC是自iOS5引入的.ARC机制的引入是为了简化开发过程的内存管理的.相对于之前 ...

  6. linux 单网卡来绑定多IP实现多网段访问以及多网卡绑定单IP实现负载均衡

    ifconfig eth0 hw AA:BB:CC:DD:EE:FF

  7. 更改Eclipse里的Classpath Variables M2_REPO

    M2_REPO这个classpath  variable 是不能改变的. 为什么 Eclipse 里的 Classpath Variables M2_REPO 无法修改(non modifiable) ...

  8. MyBatis 注解式开发

  9. 在Ubuntu16.04中安装Docker CE

    apt-get install apt-transport-https ca-certificates curl software-properties-common curl -fsSL https ...

  10. nginx反向代理同一主机多个网站域名

    nginx反向代理同一ip多个域名,给header加上host就可以了 proxy_set_header   Host             $host; nginx.conf例子 upstream ...