HTML5 实战PHP之Web页面表单设计


Posted in HTML / CSS onOctober 09, 2011

HTML5在页面结构,多媒体处理等多方面都与以往的HTML有很大的不同。在本教程中,将带领大家使用HTML5,CSS3及PHP实际设计一个符合HTML5标准的简单的表单提交网页,读者可以从中学习到HTML5 新的表单页面的基本元素。本文的读者为有一定HTML,CSS及PHP的读者学习

表单的设计草图

由于本文不是教photoshop制作的文章,因此只是把设计的表单的草图设计出来,然后去使用HTML5,CSS3和PHP去实现,我们要设计的表单草图如下图所示:
 

HTML5 实战PHP之Web页面表单设计

可以看到,在这个设计草图中,我们期望实现的效果是:当用户输入姓名时,NAME字段的文本框会以焦点的形式显示出来,而email的输入框仔细看,是一个圆角边框的输入框,而message的文本区域输入框中,可以看到有一张背景底图。而提交按钮则是一个自定义的按钮。

开始动手设计

接下来我们开始进行表单的设计。本文要使用的是php,因此可以用任何的PHP编程工具先建立一个index.php文件,然后开始编写符合HTML5标准的表单。

1)关于DOCTYPE

在HTML5中,关于DOCTYPE的声明将变得十分简单,代码如下:

复制代码
代码如下:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Contact Form</title>
</head>
<body>
</body>
</html>

看到了么?在HTML5中,对页面首部的类型声明,现在只需要一句:

就可以了,而对比下以前的HTML4,需要比较麻烦地去声明,如下:

复制代码
代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">.

接下来,我们开始设计页面表单的结构,我们先来看下如下图,表单的结构:
HTML5 实战PHP之Web页面表单设计
可以看到,我们分为Header头部区域,Main Body的表单主区域,Footer area则是表单的底部区域。而HTML5中,实现这一切其实十分简单,如下代码:
复制代码
代码如下:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Contact Form</title>
</head>
<body>
<header class="body">
</header>
<section class="body">
</section>
<footer class="body">
</footer>
</body>
</html>

可以看到,在这里没有了传统的div,取而代之的是,HTML5中新的标签元素header,footer和section,这些标签中的header标签是指定了页面头部区域,section则指定了页面的主体区域,footer部分则指定了页面的尾部区域,相比div,它们的含义更加清晰,从语义上更符合使用习惯。这里同时为它们指定了css类body,以统一它们的风格。

表单部分设计

接下来看下表单部分的设计,先看下代码如下:

复制代码
代码如下:

<form>
<label>Name</label>
<input name="name" placeholder="Type Here">
<label>Email</label>
<input name="email" type="email" placeholder="Type Here">
<label>Message</label>
<textarea name="message" placeholder="Type Here"></textarea>
<input id="submit" name="submit" type="submit" value="Submit">
</form>

下面介绍在HTML5中,input标签跟HTML4中的不同。在HTML5中,input标签同样有name和id等属性。而最大的不同,是HTML5中的type属性中,新增了很多类型,以适应用户的需求,但很遗憾的是,目前不是所有浏览器都支持这些新增的type属性,因此本文只讲解其中一些大部分浏览器都支持的新增type属性,比如其中上面例子中谈到的type=email,则是一个只允许用户输入email的文本框。即使有部分浏览器不支持email文本框的话也无所谓,因为会将其识别为一个传统的type=text的文本框,而在iOS系统上,当遇到type=email属性时,将会打开方便输入email的键盘布局,如下图所示:
 

HTML5 实战PHP之Web页面表单设计

而在type=email标签中,请留意其中的placeholder属性,这里设置为”type here”,意思是当用户没有在这个email框输入内容时,自动会出现提示用户输入的文字,这里很好地起到提醒的作用,比用一大堆javascript编写的效果要好,如下图:

HTML5 实战PHP之Web页面表单设计

HTML / CSS 相关文章推荐
css3中background新增的4个新的相关属性用法介绍
Sep 26 HTML / CSS
CSS3 实现弹幕的示例代码
Aug 07 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(一)
Jan 21 HTML / CSS
突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
Jan 31 HTML / CSS
html标签之Object和EMBED标签详解
Jul 04 HTML / CSS
使用html5实现表格实现标题合并的实例代码
May 13 HTML / CSS
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
Aug 01 HTML / CSS
跨域修改iframe页面内容详解
Oct 31 HTML / CSS
使用canvas压缩图片上传的方法示例
Feb 07 HTML / CSS
HTML5播放实现rtmp流直播
Jun 16 HTML / CSS
amazeui模态框弹出后立马消失并刷新页面
Aug 19 HTML / CSS
css 边框添加四个角的实现代码
Oct 16 HTML / CSS
HTML5标签小集
Aug 02 #HTML / CSS
HTML5的革新 结构之美
Jun 20 #HTML / CSS
HTML5 声明兼容IE的写法
May 16 #HTML / CSS
基于HTML5 audio元素播放声音jQuery小插件
May 11 #HTML / CSS
20佳惊艳的HTML5应用程序示例分享
May 03 #HTML / CSS
HTML5 本地存储和内容按需加载的思路和方法
Apr 07 #HTML / CSS
html5时钟实现代码
Oct 22 #HTML / CSS
You might like
Yii2隐藏frontend/web和backend/web的方法
2015/12/12 PHP
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
让任务管理器中的CPU跳舞的js代码
2008/11/01 Javascript
JavaScript 对象、函数和继承
2009/07/07 Javascript
jquery 问答知识整理
2010/02/11 Javascript
js点击出现悬浮窗效果不使用JQuery插件
2014/01/20 Javascript
nodejs下打包模块archiver详解
2014/12/03 NodeJs
Jquery实现简单的轮播效果(代码管用)
2016/03/14 Javascript
Javascript实现图片加载从模糊到清晰显示的方法
2016/06/21 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
jquery对象与DOM对象转化
2017/02/08 Javascript
基于Bootstrap漂亮简洁的CSS3价格表(附源码下载)
2017/02/28 Javascript
微信小程序 设置启动页面的两种方法
2017/03/09 Javascript
浅谈JavaScript find 方法不支持IE的问题
2017/09/28 Javascript
vue Element-ui input 远程搜索与修改建议显示模版的示例代码
2017/10/19 Javascript
小程序简单两栏瀑布流效果的实现
2019/12/18 Javascript
python连接mysql调用存储过程示例
2014/03/05 Python
wxpython 最小化到托盘与欢迎图片的实现方法
2014/06/09 Python
Python之自动获取公网IP的实例讲解
2017/10/01 Python
python 重命名轴索引的方法
2018/11/10 Python
python列表生成器迭代器实例解析
2019/12/19 Python
使用 Python 遍历目录树的方法
2020/02/29 Python
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
Myprotein瑞士官方网站:运动营养和健身网上商店
2019/09/25 全球购物
Java里面如何把一个Array数组转换成Collection, List
2013/07/26 面试题
办公室前台的岗位职责
2013/12/20 职场文书
药学职务聘任书
2014/03/29 职场文书
主题班会演讲稿
2014/05/22 职场文书
车辆工程专业求职信
2014/06/14 职场文书
餐饮服务食品安全责任书
2014/07/25 职场文书
爱祖国爱家乡演讲稿
2014/09/02 职场文书
先进基层党组织事迹材料
2014/12/25 职场文书
2016新教师培训心得体会范文
2016/01/08 职场文书
调解协议书范本
2016/03/21 职场文书
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL