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 相关文章推荐
一款利用html5和css3实现的3D立方体旋转效果教程
Apr 26 HTML / CSS
CSS3制作半透明边框(Facebox)类似渐变
Dec 09 HTML / CSS
使用CSS3美化HTML表单的技巧演示
May 17 HTML / CSS
CSS3中的Transition过度与Animation动画属性使用要点
May 20 HTML / CSS
浅谈CSS3中的变形功能-transform功能
Dec 27 HTML / CSS
纯css3使用vw和vh实现自适应的方法
Feb 09 HTML / CSS
2分钟教你实现环形/扇形菜单(基础版)
Jan 15 HTML / CSS
css3中仿放大镜效果的几种方式原理解析
Dec 03 HTML / CSS
HTML5 常用语法一览(列举不支持的属性)
Jan 26 HTML / CSS
简单html5代码获取地理位置
Mar 31 HTML / CSS
使用HTML5在网页中嵌入音频和视频播放的基本方法
Feb 22 HTML / CSS
使用CSS实现一个搜索引擎的原理解析
Sep 25 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
PHP制作百度词典查词采集器
2015/01/29 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
2017/05/24 PHP
PHP操作Redis常用技巧总结
2018/04/24 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
PHP进阶学习之垃圾回收机制详解
2019/06/18 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
laravel入门知识点整理
2020/09/15 PHP
IE和Mozilla的兼容性汇总event
2007/08/12 Javascript
javascript 面向对象全新理练之数据的封装
2009/12/03 Javascript
基于jquery的一个图片hover的插件
2010/04/24 Javascript
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
JQuery中两个ul标签的li互相移动实现方法
2015/05/18 Javascript
jquery输入数字随机抽奖特效的简单实现代码
2016/06/10 Javascript
Javascript中的arguments对象
2016/06/20 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
AngularJs自定义服务之实现签名和加密
2016/08/02 Javascript
详谈js对url进行编码和解码(三种方式的区别)
2017/08/16 Javascript
详解关于微信setData回调函数中的坑
2019/02/18 Javascript
elementUI table表格动态合并的示例代码
2019/05/15 Javascript
Python不规范的日期字符串处理类
2014/06/10 Python
django框架CSRF防护原理与用法分析
2019/07/22 Python
tensorflow 环境变量设置方式
2020/02/06 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
解决pip install psycopg2出错问题
2020/07/09 Python
Scrapy中如何向Spider传入参数的方法实现
2020/09/28 Python
css3圆角样式分享自定义按钮样式
2013/12/27 HTML / CSS
基于CSS3的CSS 多栏(Multi-column)实现瀑布流源码分享
2014/06/11 HTML / CSS
医学专业大学生求职的自我评价
2013/11/27 职场文书
六个一活动实施方案
2014/03/21 职场文书
医学生就业推荐表自我鉴定
2014/03/26 职场文书
优秀的导游求职信范文
2014/04/06 职场文书
班组拓展活动方案
2014/08/14 职场文书
先进个人事迹材料范文
2014/12/30 职场文书
祝福语集锦:送给闺蜜的生日祝福语
2019/10/08 职场文书
Android存储中最基本的文件存储方式
2022/04/30 Java/Android
Mysql开启外网访问
2022/05/15 MySQL