HTML+CSS+DIV+表单制作
2014-05-26 09:55
274 查看
Html 、CSS、JavaScript 综合运用:注册表单的制作
1 Html
什么是 HTML?
HTML 是用来描述网页的一种语言。
· HTML 指的是超文本标记语言 (Hyper Text Markup Language)
· HTML 不是一种编程语言,而是一种标记语言 (markup language)
· 标记语言是一套标记标签 (markup tag)
· HTML 使用标记标签来描述网页
HTML 标签
HTML 标记标签通常被称为 HTML 标签 (HTML tag)。
· HTML 标签是由尖括号包围的关键词,比如 <html>
· HTML 标签通常是成对出现的,比如 <b> 和 </b>
· 标签对中的第一个标签是开始标签,第二个标签是结束标签
· 开始和结束标签也被称为开放标签和闭合标签
HTML 文档 = 网页
· HTML 文档描述网页
· HTML 文档包含 HTML 标签和纯文本
· HTML 文档也被称为网页
Web 浏览器的作用是读取 HTML 文档,并以网页的形式显示出它们。浏览器不会显示 HTML 标签,而是使用标签来解释页面的内容:
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
例子解释
· <html> 与 </html> 之间的文本描述网页
· <body> 与 </body> 之间的文本是可见的页面内容
· <h1> 与 </h1> 之间的文本被显示为标题
· <p> 与 </p> 之间的文本被显示为段落
2 css
CSS 概述
· CSS 指层叠样式表 (Cascading Style Sheets)
· 样式定义如何显示 HTML 元素
· 样式通常存储在样式表中
· 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题
· 外部样式表可以极大提高工作效率
· 外部样式表通常存储在 CSS 文件中
· 多个样式定义可层叠为一
HTML 标签原本被设计为用于定义文档内容。通过使用 <h1>、<p>、<table> 这样的标签,HTML 的初衷是表达“这是标题”、“这是段落”、“这是表格”之类的信息。同时文档布局由浏览器来完成,而不使用任何的格式化标签。
多重样式将层叠为一个
样式表允许以多种方式规定样式信息。样式可以规定在单个的 HTML 元素中,在 HTML 页的头元素中,或在一个外部的 CSS 文件中。甚至可以在同一个 HTML 文档内部引用多个外部样式表。
层叠次序
当同一个 HTML 元素被不止一个样式定义时,会使用哪个样式呢?
一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字 4 拥有最高的优先权。
1 浏览器缺省设置
2 外部样式表
3 内部样式表(位于 <head> 标签内部)
4 内联样式(在 HTML 元素内部)
因此,内联样式(在 HTML 元素内部)拥有最高的优先权,这意味着它将优先于以下的样式声明:<head> 标签中的样式声明,外部样式表中的样式声明,或者浏览器中的样式声明(缺省值)。
CSS知识点:
|--css样式的某些样式存在着继承关系,如字体,在body中定义了样式之后,里面的元素 会有相同的性质,如果里面的元素定义了自己的样式,那么就优先是用自己的样 式。这和java中的继承类似。这些元素如:p、td、ul、ol、li、dt、dd等。
|--样式表特殊格式:
|--div p{ } :派生选择器 或者 上下文选择器,因为上下有联系。
这种格式针对于div 里面的p标签,当用当<div><p></p></div> 时,会产生效果。
|--.center{ }:类选择器。第一个字符不能是数字。
用法如:.center{text-align:center;}实现文本的居中对齐。
这种类似,是用类时一起使用得到效果。派生用法。.div .p{ },
<div class="div"><p class="p"></p></div>
或者 .center td{ }
|--id选择器(不常用):和js中的id属性冲突,也成为唯一选择器。一旦使用了这 个,其他的相同类样式不能作用在元素上。
定义:#pid{ } 用#来定义
是用:id="pid"
|--div:层,单独占据一行,可以调节其宽和高,里面可以嵌套div,里面可以有<span> </span>标签,用来控制里面的内容,如位置等。
|--使用:
|--连接外部样式表:在<head> <link href="myCss.css" style="text/css" rel="stylesheet" /> </head>
|--内部样式表:在本html文档的head标签内直接写css样式。
格式:<style> p{color:#f00;} table{ border:1px;}</style>
|--内联样式:在各个标签中使用样式,
如:<p style="color:#f00;margin-left:20px"></p>
三种样式权限从大到小:内联、内部、外部。
|--CSS背景:不能被继承
|--使用背景色:background-color:#f00;padding:20px; 可以为body以及里面的 元素各部分添加背景色。
|--使用背景图像:background-image:url(../image/1.jpg);同样的可以对某一 个元素部分进行背景图像的设置。甚至可以设置:textareas和select,即 文本域和下拉菜单选项。
css样式表中常用属性:
1 文本对其方式: text-align: center;
2 颜色:color: black;或者 color: #000;
3 字体:font-family: arial;
4 背景色:background: #fff;
5 边距:margin:0,auto;
|--margin-bottom
|--margin-left
|--margin-right
|--margin-top
6 填充距:padding:0;
7 字体大小:font-size:20px;
8 背景:background-color、background-image背景色和背景图像
|--通过设置background-repeat:repeat-y或者repeat-x或者no-repeat;
|--background-position:center;设置body的背景图像位置。
|--值top、bottom、left、right、center。可以混搭使用,
如:top right 表示右上方,最多使用两个关键字。注意:当和 center混合使用时,效果和不用center一样,是等价的。
|--百分制设置图像位置:background-position:50% 50%;
3 JavaScript
JS知识点:
|--JavaScript 被设计用来向 HTML 页面添加交互行为。
|--JavaScript 是一种脚本语言(脚本语言是一种轻量级的编程语言)。
|--JavaScript 由数行可执行计算机代码组成。
|--JavaScript 通常被直接嵌入 HTML 页面。
|--JavaScript 是一种解释性语言(就是说,代码执行不进行预编译)。
函数定义:
1 一般函数 权限最低,同名的函数,定义在最后的函数将覆盖前面的同名函数
|--function 函数名(参数列表){ }
2 动态函数 与一般函数同名时,动态函数执行
|--var 函数名=new Function("参数列表","函数体");
|--var 函数名=new Function("参数1","参数2",...,"函数体");
3 匿名函数 权限和动态函数相同,调用时,那个函数在最近上方就调用谁
|--函数名=function(参数列表){函数体}
|--调用:函数名(参数列表);用法和不同函数一样。
事件驱动函数:
window.onload=function()
{
//函数体
}
注:arguments[number];表示第几个参数值,放在函数体中接收传递的参数,因为js中的函数可以传递任意个参数而正常运行。
注册表单实例:
分析:
整体分为三个部分:CSS 样式表、JavaScript处理、Html代码。
CSS部分:
<style type="text/css">//样式表开始
table//对整个表格的处理部分
{
border:#0066ff 1px solid;
width:600px;
border-collapse:collapse;
}
table td,table th//对表格中的单元格和表头处理
{
border:#0066ff 1px solid;
padding:20px;
}
table td//单元格处理
{
background-color: #FF9
}
table th
{
background-color: #F90
}
.errorinfo//定义样式类
{
color:#F00;
display:none;
}
.focus//定义获取焦点的样式类
{
border:#09f 2px solid;
}
.norm
{
border:#666 1px solid;
}
<!--校验时,发生错误的框线设置-->
.error
{
border:#f00 2px solid;
}
</style>
JavaScript部分
JS部分是注册表单的核心部分,其分析功能由此完成。
<script type="text/javascript">
//对文本框进行焦点处理,实现简单的获取焦点动态效果
//此方法是对重复的代码进行抽取的结果
function inputColor(input)
{
input.classNmae="norm";
input.onfocus=function()
{
this.className="focus";
}
}
window.onload=function()
{
with(document.forms[0])
{
//分别调用获焦点方法
inputColor(user);
inputColor(psw);
inputColor(repsw);
}
}
/*
进行用户名校验
不符合规则时,焦点离开则会显式提示信息,输入符合规则信息,焦点离开,提示信息消失
由于校验的函数代码重复度很高,所以选择了对一部分代码进行单独抽取封装的方法,简化代码书写
*/
//校验方法,需要input节点,正则表达式和div节点
//此方法是对重复部分进行抽取的结果
function check(inputNode,regex,divId)
{
//获取此div节点
var divNode=document.getElementById(divId);
if(regex.test(inputNode.value))
{
//这里可以使用innerHTML属性,改变单元格内容
inputNode.className="norm";
divNode.style.display="none";
}
else
{
inputNode.className="error";
divNode.style.display="block";
}
}
//校验用户名
function checkUser(userNode)
{
//校验用户名正则
var regex= /^\w{3,9}$/ ;
check(userNode,regex,"userdiv");
}
//校验初次密码
function checkPsw(pswNode)
{
//校验密码正则
var regex= /^[a-z0-9]{6,16}$/;
check(pswNode,regex,"pswdiv");
}
//校验确认密码,单独进行校验
function checkRepsw(repswNode)
{
//获取再次输入的密码
var value1=repswNode.value;
//获取初始输入的密码
var value2=document.getElementsByName("psw")[0].value;
//获取再次输入密码input所在div的div节点
var divNode=document.getElementById("repswdiv");
//比较两次输入的密码是否一致即可
if(value1==value2)
{
repswNode.className="norm";
divNode.style.display="none";
}
else
{
repswNode.className="error";
divNode.style.display="block";
}
}
</script>
Html部分
用户名部分:
<tr><!--用户名部分,使用div,进行信息的提示等-->
<td>用户名称:</td>
<td align="center"> <!--失去焦点事件触发-->
<div><input type="text" name="user" onblur="checkUser(this)"/></div>
<div class="errorinfo" id="userdiv">用户名错误,请按要求输入</div><!-- 添加提示信息 -->
<div>用户名必须是3-9位字母(a-z)、下划线(_)和数字(0-9)组合</div>
</td>
</tr>
----------------------------------------------------------------
密码部分:
<tr><!--密码部分,使用div,进行信息的提示等-->
<td>输入密码:</td>
<td align="center">
<div><input type="password" name="psw" onblur="checkPsw(this)"/></div>
<div class="errorinfo" id="pswdiv">密码格式错误,请重新输入</div><!-- 添加提示新密 -->
<div>密码必须是6-16位字母(a-z)和数字(0-9)的组合</div>
</td>
</tr>
使用的都是input标签。其中要有input的标签的属性。用户名的属性type值是”text”,密码属性type属性值”password”。
----------------------------------------------------------------
单选框部分:
<tr>
<!--性别,使用单选-->
<td>性别:</td>
<td align="center">
<div>
<input type="radio" name="sex" value="man" />男
<input type="radio" name="sex" value="wuman" checked="checked"/>女
</div>
</td>
</tr>
单选框的属性type属性值是”radio”,通过设定checked=”checked”;表示默认选择哪一个。设定name属性值为”sex”,name的属性值都是sex,表示只能选择一个,如果name值不同的话,不能够实现单选效果。
复选框,type属性值是checkbox。
下拉列表框使用的属性为select,每一个选项使用option标签来表现。
示例如下:
<tr><!--简单的使用了几个城市,作为示例-->
<td>选择所在地:</td>
<td align="center">
<select name="province">
<option value="none">--选择--</option>
<option value="北京">北京</option>
<option value="上海">上海</option>
<option value="山东">南京</option>
<option value="湖南">济南</option>
</select>
</td>
</tr>
提交数据和重填:
<input type="submit" value="提交数据"/>
<input type="reset" value="清除数据"/>
提交数据使用submit属性值,重填是reset属性值。
相关文章推荐
- div+css 误区 html标准标签 css建议 静态页面制作
- html静态网页制作中div+css的浅运用
- 花钱购买制作精美的留言板或者留言板设计的HTML + CSS + DIV 源码
- 花钱购买制作精美的留言板或者留言板设计的HTML + CSS + DIV 源码
- 大学生简单网页div+css网页纯手写代码制作html静态页面切图排版
- 花钱购买制作精美的留言板或者留言板设计的HTML + CSS + DIV 源码
- Html+css+div+ul+li制作Web前端导航菜单。
- CSS+DIV 接触(1):表单的制作
- 花钱购买制作精美的留言板或者留言板设计的HTML + CSS + DIV 源码
- css + div + js 制作HTML tab control
- javaEE02 使用HTML的表单标签编写“注册页面”,使用DIV和CSS重写网站首页
- Div+CSS布局入门教程--页面顶部制作之二
- CSS制作表单
- 在DIV+CSS排版中新闻列表的制作方法
- Div+CSS布局入门教程--页面顶部制作之一
- Div+CSS布局入门教程--页面制作-用好border和clear
- HTML结构化:实践DIV+CSS网页布局入门指南
- Div+Css(+Js)菜单代码及制作工具
- 有Focus效果的提交信息表单(DIV+CSS)
- 常用的登陆表单(DIV+CSS)