古人有云:温故而知新。活到老,学到老,作为一枚前端的程序猿,不停的学习能够让我们对我们的技术有一个更加丰富的认识。这几天,项目已经完成,但我发现自己的知识体系存在一些短板,特别是在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. ORM sqlachemy

    本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM介绍 orm英文全称object relational mapping ...

  2. javascript的创建对象object.create()和属性检测hasOwnPrototype()和propertyIsEnumerable()

    Object.create("参数1[,参数2]")是E5中提出的一种新的对象的创建方式. 第一个参数是要继承到新对象原型上的对象; 第二个参数是对象属性.这个参数可选,默认为fa ...

  3. C++11奇怪的语法

    1. istream_iterator 简而言之,istream_iterator像操作容器一样操作istream.例如下面代码,从std::cin构造std::istream_iteream< ...

  4. Python开发之用户密码存储

    在各种线上应用中,用户名密码是用户身份认证的关键,它的重要性不言而喻.一方面,作为保护用户敏感数据的钥匙来说,一旦被破解,系统将敞开大门完全不设防.另一方面,密码这把钥匙本身就是非常敏感的数据:大多数 ...

  5. Xenu Link Sleuth 简单好用的链接测试工具 使用说明

    XenuLink Sleuth 名词介绍 “Xenu链接检测侦探”是被广泛使用的死链接检测工具.可以检测到网页中的普通链接.图片.框架.插件.背景.样式表.脚本和java程序中的链接. 那么神马时候出 ...

  6. MATLAB 条形图或饼状图 图案填充

    function [im_hatch,colorlist] = applyhatch_pluscolor(h,patterns,CvBW,Hinvert,colorlist, ... dpi,hatc ...

  7. leetcode922

    public class Solution { public int[] SortArrayByParityII(int[] A) { var len = A.Length; ];//奇数1,3,5, ...

  8. C++builder XML XSL 代码生成

    void __fastcall TFrmGenCode::XSLTxml1Click(TObject *Sender) { // XSLT转换xml文件格式 _di_IXMLDocument xml; ...

  9. 检测IE浏览器版本是否过低

    <script type="text/javascript"> /*判断浏览器版本是否过低*/ $(document).ready(function() {s var ...

  10. SpringMVC 学习笔记(处理器映射器的配置)

    前端控制器(dispatchServlet) 在web.xml中配置前端控制器,在服务器启动时就被创建,用来对请求和响应进行接收 和 分发处理,其在配置时可以设置一个初始化参数,用来定位SpringM ...