CSS 列表和表单
1. 列表标签(重点)
表格是用来显示数据的,列表是用来布局的。
-
概念:
容器里面装载着结构,样式一致的文字或图表的一种形式,叫列表
-
特点:
列表最大的特点就是 整齐 、整洁、 有序,跟表格类似,但是他可组合自由度会更高。
1.1 无序列表 ul (重点)
无序列表的各个列表项之间没有顺序级别之分,是并列的。其基本语法格式如下:
<ul>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
......
</ul>
比如下面这些,新闻是没有顺序的,不用排队,先到先得,后发布先显示。
注意:
1. <ul></ul>中只能嵌套<li></li>,直接在<ul></ul>标签中输入其他标签或者文字的做法是不被允许的。
2. <li>与</li>之间相当于一个容器,可以容纳所有元素。
3. 无序列表会带有自己样式属性,删除原有样式,用css控制列表样式。
1.2 有序列表 ol (了解)
有序列表即为有排列顺序的列表,其各个列表项按照一定的顺序排列定义,有序列表的基本语法格式如下:
<ol>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
......
</ol>
所有特性基本与ul 一致。 但是实际中比 无序列表 用的少很多。
1.3 自定义列表(理解)
定义列表常用于对术语或名词进行解释和描述,定义列表的列表项前没有任何项目符号。其基本语法如下:
<dl>
<dt>名词1</dt>
<dd>名词1解释1</dd>
<dd>名词1解释2</dd>
...
<dt>名词2</dt>
<dd>名词2解释1</dd>
<dd>名词2解释2</dd>
...
</dl>
1.4 列表总结
标签名 | 定义 | 说明 |
---|---|---|
<ul></ul> | 无序标签 | 里面只能包含li 没有顺序,我们以后布局中最常用的列表 |
<ol></ol> | 有序标签 | 里面只能包含li 有顺序, 使用情况较少 |
<dl></dl> | 自定义列表 | 里面有2个兄弟, dt 和 dd |
2. 表单标签(掌握)
现实中的表单,类似我们去银行办理信用卡填写的单子。 如下图
**作用: **
表单目的是为了收集用户信息。
在我们网页中, 我们也需要跟用户进行交互,收集用户资料,此时也需要表单。
在HTML中,一个完整的表单通常由表单控件(也称为表单元素)、提示信息和表单域3个部分构成。
**表单控件: **
包含了具体的表单功能项,如单行文本输入框、密码输入框、复选框、提交按钮、重置按钮等。
提示信息:
一个表单中通常还需要包含一些说明性的文字,提示用户进行填写和操作。
表单域:
他相当于一个容器,用来容纳所有的表单控件和提示信息,可以通过他定义处理表单数据所用程序的url地址,以及数据提交到服务器的方法。如果不定义表单域,表单中的数据就无法传送到后台服务器。
2.1 input 控件(重点)
-
语法:
<input type="属性值" value="你好">
- input 输入的意思
- <input />标签为单标签
- type属性设置不同的属性值用来指定不同的控件类型
- 除了type属性还有别的属性
-
常用属性:
1. type 属性
- 这个属性通过改变值,可以决定了你属于那种input表单。
- 比如 type = ‘text’ 就表示 文本框 可以做 用户名, 昵称等。
- 比如 type = ‘password’ 就是表示密码框 用户输入的内容 是不可见的。
用户名: <input type="text" />
密 码:<input type="password" />
2. value属性 值
用户名:<input type="text" name="username" value="请输入用户名">
- value 默认的文本值。 有些表单想刚打开页面就默认显示几个文字,就可以通过这个value 来设置。
3. name属性
用户名:<input type="text" name=“username” />
name表单的名字, 这样,后台可以通过这个name属性找到这个表单。 页面中的表单很多,name主要作用就是用于区别不同的表单。
-
name属性后面的值,是我们自己定义的。
-
radio 如果是一组,我们必须给他们命名相同的名字 name 这样就可以多个选其中的一个啦
<input type="radio" name="sex" />男
<input type="radio" name="sex" />女
- name属性,我们现在用的较少, 但是,当我们学ajax 和后台的时候,是必须的。
4. checked属性
- 表示默认选中状态。 较常见于 单选按钮和复选按钮。
性 别:
<input type="radio" name="sex" value="男" checked="checked" />男
<input type="radio" name="sex" value="女" />女
上面这个,表示就默认选中了 男 这个单选按钮
5. input 属性小结
属性 | 说明 | 作用 |
---|---|---|
type | 表单类型 | 用来指定不同的控件类型 |
value | 表单值 | 表单里面默认显示的文本 |
name | 表单名字 | 页面中的表单很多,name主要作用就是用于区别不同的表单。 |
checked | 默认选中 | 表示那个单选或者复选按钮一开始就被选中了 |
h5新增的表单属性placeholder也很常用,显示用户提示文字。
2.2 label标签(理解)
目标:
label标签主要目的是为了提高用户体验。 为用户提高最优秀的服务。
概念:
label 标签为 input 元素定义标注(标签)。
作用:
用于绑定一个表单元素, 当点击label标签的时候, 被绑定的表单元素就会获得输入焦点。
如何绑定元素呢?
- 第一种用法就是用label直接包括input表单。
<label> 用户名: <input type="radio" name="usename" value="请输入用户名"> </label>
适合单个表单选择
- 第二种用法 for 属性规定 label 与哪个表单元素绑定。
<label for="sex">男</label>
<input type="radio" name="sex" id="sex">
pink老师 一句话说出他们:
当我们鼠标点击 label标签里面的文字时, 光标会定位到指定的表单里面
2.3 textarea控件(文本域)
- 语法:
<textarea >
文本内容
</textarea>
-
作用:
通过textarea控件可以轻松地创建多行文本输入框.
cols=“每行中的字符数” rows=“显示的行数” 我们实际开发不用
文本框和文本域区别
表单 | 名称 | 区别 | 默认值显示 | 用于场景 |
---|---|---|---|---|
input type=“text” | 文本框 | 只能显示一行文本 | 单标签,通过value显示默认值 | 用户名、昵称、密码等 |
textarea | 文本域 | 可以显示多行文本 | 双标签,默认值写到标签中间 | 留言板 |
2.4 select下拉列表
目的:
如果有多个选项让用户选择,为了节约空间,我们可以使用select控件定义下拉列表.
语法:
<select>
<option>选项1</option>
<option>选项2</option>
<option>选项3</option>
...
</select>
- 注意:
- <select> 中至少包含一对 option
- 在option 中定义selected =" selected "时,当前项即为默认选中项。
- 但是我们实际开发会用的比较少
3. form表单域
-
收集的用户信息怎么传递给服务器?
通过form表单域
-
目的:
在HTML中,form标签被用于定义表单域,以实现用户信息的收集和传递,form中的所有内容都会被提交给服务器。
**语法: **
<form action="url地址" method="提交方式" name="表单名称">
各种表单控件
</form>
常用属性:
属性 | 属性值 | 作用 |
---|---|---|
action | url地址 | 用于指定接收并处理表单数据的服务器程序的url地址。 |
method | get/post | 用于设置表单数据的提交方式,其取值为get或post。 |
name | 名称 | 用于指定表单的名称,以区分同一个页面中的多个表单。 |
注意:
每个表单都应该有自己表单域。我们现在做页面,不写看不到效果,但是 如果后面学 ajax 后台交互的时候,必须需要 form表单域。
4.fieldset表单字段集
fieldset即field set,就是表单中field的集合。它会生成 field 的集合,用于对表单中的元素进行分组。
<fieldset> 标签可以将表单内的相关元素分组。
<fieldset> 标签会在相关表单元素周围绘制边框。
<legend> 标签为<fieldset> 元素定义标题
<fieldset style="border: 1px solid #01567F">
<legend style="font-size: 15px; font-family: 黑体; color: #0A467E; margin-left: 15px;">用户信息</legend>
<div>用户名称:<input type="text"></div>
<div>用户密码:<input type="password"></div>
</fieldset>
在元素分组使用中fieldset需要使用legend标签来设置标题
5.练习案例
练习案例1——世纪佳缘登录页面
案例1——代码参考
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>世纪佳缘登录界面</title>
<style>
tr {
height: 40px;
}
input {
color: #ccc;
}
</style>
</head>
<body>
<table width="400" align="center">
<tr>
<th colspan="2" style="font-size: 18px; color:#666;">会员登录</th>
</tr>
<tr>
<td>登录帐号</td>
<td><input type="text" value="邮箱/ID/手机号"></td>
</tr>
<tr>
<td>密码</td>
<td><input type="text" value="密码"></td>
</tr>
<tr>
<td></td>
<td><input type="checkbox" checked="checked" />
<span style="color: #a4a4a4; font-size: 12px;">两周内自动登录</span>
</td>
</tr>
<tr>
<td></td>
<td><input type="image" src="images/login.png"> <a href="#">忘记密码</a> </td>
</tr>
<tr>
<td>其他帐号登录</td>
<td style="font-size:12px; color: #666;"> <img src="images/ico1.png"> QQ帐号 <img src="images/ico2.png"> 新浪微博 <img src="images/ico3.png"> 百度账号
</td>
</tr>
<tr>
<td></td>
<td>
<a href="demo.html" target="_blank">还不是会员?立即注册</a>
</td>
</tr>
</table>
</body>
</html>
练习案例2——世纪佳缘注册页面
练习案例2——参考代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>世纪佳缘-你在我也在</title>
</head>
<body>
<table width="600" align="center" cellspacing="0" cellpadding="0">
<tr height="60">
<th colspan="2">
青春不常在,抓紧谈恋爱
</th>
</tr>
<tr height="40">
<td>性别</td>
<td>
<input type="radio" name="sex" id=""> <img src="images/man.jpg" alt=""> 男
<input type="radio" name="sex" id=""><img src="images/women.jpg" alt=""> 女
</td>
</tr>
<tr height="40">
<td>生日</td>
<td>
<select name="" id="">
<option value="">请选择年</option>
<option value="">1990</option>
<option value="">1991</option>
<option value="">1992年</option>
</select>
<select name="" id="">
<option value="">请选择月</option>
<option value="">1月</option>
<option value="">2月</option>
<option value="">3月</option>
</select>
<select name="" id="">
<option value="">请选择日</option>
<option value="">1</option>
<option value="">2</option>
<option value="">3</option>
</select>
</td>
</tr>
<tr height="40">
<td>所在地区</td>
<td>
<input type="text" value="北京">
</td>
</tr>
<tr height="40">
<td>婚姻状况</td>
<td>
<input type="radio" name="merry"> 未婚
<input type="radio" name="merry"> 离婚
<input type="radio" name="merry"> 丧偶
</td>
</tr>
<tr height="40">
<td>学历</td>
<td>
<input type="text" value="小学">
</td>
</tr>
<tr height="40">
<td>月薪</td>
<td>
<input type="text" value="5000-10000">
</td>
</tr>
<tr height="40">
<td>手机号</td>
<td>
<input type="text">
</td>
</tr>
<tr height="40">
<td>昵称</td>
<td>
<input type="text">
</td>
</tr>
<tr height="40">
<td>喜欢的类型</td>
<td>
<input type="checkbox" name="merry"> 妩媚
<input type="checkbox" name="merry"> 柔美
<input type="checkbox" name="merry"> 可爱
<input type="checkbox" name="merry"> 小鲜肉
<input type="checkbox" name="merry"> 型男
<input type="checkbox" name="merry"> 气质
</td>
</tr>
<tr height="40">
<td>自我介绍</td>
<td>
<textarea name="" id="" cols="50" rows="10"></textarea>
</td>
</tr>
<tr height="60">
<td></td>
<td>
<input type="image" src="images/btn.png">
</td>
</tr>
<tr height="60">
<td></td>
<td>
<input type="checkbox" checked="checked">
<a href="# "></a>我同意注册条款和会员加入标准</a>
</td>
</tr>
<tr height="40">
<td></td>
<td>
<a href="login.html" target="_blank">我是会员,立即登录</a>
</td>
</tr>
<tr height="40">
<td></td>
<td>
<h3> 我承诺</h3>
<ul>
<li>年满18岁、单身</li>
<li>抱着严肃的态度</li>
<li>真诚寻找另一半</li>
</ul>
</td>
</tr>
</table>
</body>
</html>
练习案例3——百度首页
练习案例3——代码参考
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>百度一下,你就知道</title>
<style type="text/css">
.logo{text-align:center;}
.nav{ font-size:14px; text-align:center;}
.sousou{ text-align:center;}
.search{width:420px; height:23px;}
.btn{height:30px; width:100px; font-size:14px;}
.more{text-align:center; font-size:14px;}
.map{text-align:center; font-size:12px;}
.bottom{font-size:12px; text-align:center; line-height:30px;}
</style>
</head>
<body>
<div class="logo"><img src="bdlogo.gif" /></div>
<div class="nav"><a href="#">新 闻</a> <strong>网 页</strong> <a href="#"> 贴 吧</a> <a href="#">知 道</a> <a href="#">音 乐</a> <a href="#">图 片</a> <a href="#">视 频</a> <a href="#">地 图</a></div><br />
<div class="sousou"> <input type="text" class="search"/> <input type="button" value="百度一下" class="btn"/></div><br />
<br />
<div class="more"><a href="#" >百科</a> <a href="#">文库</a> <a href="#" >hao123</a> | <a href="#" >更多>></a></div><br />
<br />
<div class="map"><img src="ic.jpg" /> <a href="#">百度地图带你吃喝玩乐,全心全意为人民服务</a></div><br />
<br />
<div class="bottom"><a href="#">把百度设为主页</a> <a href="#">安装百度卫士</a><br />
<a href="#">加入百度推广</a> | <a href="#">搜索风云榜</a> | <a href="#">关于百度</a> | <a href="#">About Baidu</a><br />
©2013 Baidu 使用百度前必读 京ICP证030173号 </div>
</body>
</html>