前言:自从学习各种框架各种成熟的控件库,越来越觉得疲惫。

一、用语义元素构造网页

在html5中最常用到的页面结构相关的语义元素如下:

页面结构想相关的语义元素
元素 说明
<article> 表示一篇任何形式的文章,即类似新闻报道,论坛帖子或博客文章(不包括评论或作者简介)等能够独立的内容区块
<aside> 表示独立于页面主内容的一个完整的内容块。例如,可以用<aside>
<figure>和<figcaption> 表示一副插图。其中<figcaption>元素标注图题(插图的标题),而<figure>元素标注<figcaption>和插入图片的<img>元素。目标是反映图片与图题之间的关联的
<footer> 表示页面底部的页脚。通常是很小的一块内容,包括小字号的版权声明,简单的链接
<header> 表示增强型的标题,可以包含HTML标题和其他内容。其他内容可以是标志,作者署名或一组指向后面内容的导航链接
<nav> 表示页面中重要的一组链接。其中的链接可以指向当前页面的主题,也可以指向网站的其他页面。实际上,一个页面包含多个<nav>也很正常
<section> 表示文档中的一个区块,或者表示一组文档。
<main> 表示页面的主内容。比如,可以使用<main>包含<article>元素,隔离网站的页眉、页脚和侧边栏。该元素是HTML5新增的

二、编写更有意义的标记

认识三个新的文本级的语义元素:

1.使用<time>标注日期和时间

//示例
The party starts <time>2014-03-21</time>

2.使用<output>标注JavaScript返回值

//示例
<p>Your BMI:<output id="result"></output></p>

3.使用<mark>标注突显文本

<mark>元素用于标注一段文本,这段文本会突出显示。在需要引用其他人的内容,而你想引起别人注意时,就可以使用<mark>元素。

三、构建更好的表单

1.理解表单

  通常所说的表单,就是一组文本框、列表、按钮及其他可以点击的小控件,通过这些小控件可以收集网站所有访客的某些信息。

  所有的基本表单的工作方式都类似,即用户填写信息然后单击按钮。此时,浏览器会收集用户输入的信息并将其发送给服务器。在服务器上,有软件程序负责处理信息,并决定下一步的操作。服务端的这个程序可能要联系数据库,可能是读取数据也可能是写入数据,之后再把新的页面发送给浏览器。

  注意:无论采用什么方式,过程都差不多的,即 检查表单数据;对数据进行某种处理;然后再发回一个新网页。

2.HTML5验证的原理

基本原理:HTML5表单验证的基本原理就是你来告诉浏览器要验证那个字段。

在两个地方验证(二者缺一不可)

  1.客户端验证:主要为访客方便。

  2.服务器端验证:确保数据正确性。

使用正则表达式:所谓正则表达式,就是一种用正则表达式语言编写的文本模式。常用于搜索和验证。

新的输入控件:

HTML表单有一个奇怪的做法,即用一个元素(含含糊糊的叫<input>)创建多个控件:复选框、文本框、以及按钮。此时,type属性就成了地地道道的总开关。

电子邮件地址:

<input type="email"></input>

网址:

<input type="url"></input>

搜索框:

<input type="serach"></input>

电话号码:

<input type="tel"></input>

数值:

<input type="number"></input>

滑动条:

<input type="range"></input>

日期和时间:

<input type="date"></input>

回头看看HTML5的更多相关文章

  1. nw.js桌面软件开发系列 第0.1节 HTML5和桌面软件开发的碰撞

    第0.1节 HTML5和桌面软件开发的碰撞 当我们谈论桌面软件开发技术的时候,你会想到什么?如果不对技术本身进行更为深入的探讨,在我的世界里,有这么多技术概念可以被罗列出来(请原谅我本质上是一个Win ...

  2. HTML5 Canvas核心技术图形动画与游戏开发(读书笔记)----第一章,基础知识

    一,canvas元素 1 为了防止浏览器不支持canvas元素,我们设置“后备内容”(fallback content),下面紫色的字即为后备内容 <canvas id="canvas ...

  3. 大话ASP.NET开发(第一章 html5+css3+解耦问题的探讨)

    一.拉近我们的距离 我想,很多人会问,如今IE6还占据颇多份额的中国,html5.css3是否还很遥远?我会很直接告诉他们:其实就在你的眼前.我们来看两个图:                      ...

  4. html5之canvas画图

    导航 前言 基本知识 绘制矩形 清除矩形区域 圆弧 路径 绘制线段 绘制贝塞尔曲线 线性渐变 径向渐变(发散) 图形变形(平移.旋转.缩放) 矩阵变换(图形变形的机制) 图形组合 给图形绘制阴影 绘制 ...

  5. 基于HTML5的燃气3D培训仿真系统

    最近上线了的基于HTML5的燃气3D培训仿真系统,以前的老系统是采用基于C++和OpenGL的OpenSceneGraph引擎设计的,OSG引擎性能和渲染效果各方面还是不错的,但因为这次新产品需求要求 ...

  6. HTML5定稿一周年,你必须要重新认识HTML5了

    原文网址链接:http://www.csdn.net/article/2015-11-24/2826317 去年此时,W3C定稿了HTML5.我曾发表一篇文章<HTML 5终于定稿,为什么原生A ...

  7. 玩转html5<canvas>画图

    导航 前言 基本知识 绘制矩形 清除矩形区域 圆弧 路径 绘制线段 绘制贝塞尔曲线 线性渐变 径向渐变(发散) 图形变形(平移.旋转.缩放) 矩阵变换(图形变形的机制) 图形组合 给图形绘制阴影 绘制 ...

  8. 基于HTML5气3D仿真培训系统

    根据最近的上线HTML5的燃气3D培训仿真系统.曾经的老系统是採用基于C++和OpenGL的OpenSceneGraph引擎设计的,OSG引擎性能和渲染效果各方面还是不错的,但由于这次新产品需求要求能 ...

  9. html5 PACS漫谈

    2012年html5标准制定之后,其中canvas标签给程序猿提供了图像绘制的接口. 在医疗领域从事PACS开发的我发现BS结构的PACS系统开发有了新可能,不再需要客户端安装flash.active ...

随机推荐

  1. Libgdx中TextButton的一些思考

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/caihongshijie6/article/details/37566183         由于有 ...

  2. sublime中使用插件anaconda而在代码中出现方框

    这个标志是说不符合PEP8标准,比如使用了Tab做缩进:一行过长等问题. 可以在可以在 Sublime > Preferences > Package Settings > Anac ...

  3. 40.Unique Binary Search Trees(不同的二叉搜索树)

    Level:   Medium 题目描述: Given n, how many structurally unique BST's (binary search trees) that store v ...

  4. 对php引用的理解

    /** * 引用是符号表别名 */ // $a与$b指向同一个变量 $a = &$b; // 定义函数foo,参数为引用类型:&$var,无函数体 function foo(& ...

  5. html中a标签伪类的优先级与顺序

    /** 这四个伪类的优先级相同,前一个会覆盖后一个 建议书写顺序: lvha => love hate(好记) */ a:link { color: red; } a:visited { col ...

  6. Vue小白篇 -Vue 的模板语法

    可以插入任何你想插入的内容,除了 if-else if-else用三元运算符代替 <div id="box"> <!--模板语法--> <h2> ...

  7. 想实现网页滚动一定距离底部弹出div

    <script type="text/javascript"> $(window).scroll(function () { if ($(this).scrollTop ...

  8. RabbitMQ学习第三记:发布/订阅模式(Publish/Subscribe)

    工作队列模式是直接在生产者与消费者里声明好一个队列,这种情况下消息只会对应同类型的消费者. 举个用户注册的列子:用户在注册完后一般都会发送消息通知用户注册成功(失败).如果在一个系统中,用户注册信息有 ...

  9. wireshark简单的过滤条件

    http://blog.csdn.net/blue_jjw/article/details/8467885 一.IP过滤:包括来源IP或者目标IP等于某个IP比如:ip.src addr==192.1 ...

  10. MariaDB 删除表

    在本章中,我们将学习删除表. 表删除很容易,但记住所有删除的表是不可恢复的. 表删除的一般语法如下 - DROP TABLE table_name ; 存在执行表删除的两个选项:使用命令提示符或PHP ...