1.表格
1.1 表格的作用
- 表格主要是用于显示、展示数据,因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据的时候,能够熟练运用表格就显得重要。
- 表格不是用来布局页面的而是用来展示数据的。
表格具体用法:
<table></table>
是用于定义表格的标签<tr></tr>
标签用于定义表格中的行,必须嵌套在<table></table>
标签中<td></td>
用于定义表格中的单元格,必须嵌套在<tr></tr>
标签中- 字母td指表格数据(table data),即数据单元格的内容。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table>
<tr>
<td>姓名</td>
<td>年龄</td>
<td>性别</td>
</tr>
<tr>
<td>库里</td>
<td>38</td>
<td>男</td>
</tr>
<tr>
<td>詹姆斯</td>
<td>41</td>
<td>男</td>
</tr>
<tr>
<td>杜兰特</td>
<td>37</td>
<td>男</td>
</tr>
</table>
</body>
</html>
1.2 表头单元格
表头单元格也是单元格,常用于表格第一行突出重要性,表头单元格里面的文字会加粗居中
表头标签的具体实现:
<table>
<tr>
<th>姓名</th>
</tr>
</table>
一般表头单元格位于表格的第一行或第一列,表头单元格里面的文本内容加粗居中显示. <th>
标签表示 HTML 表格的表头部分(table head 的缩写)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
</tr>
<tr>
<td>库里</td>
<td>38</td>
<td>男</td>
</tr>
<tr>
<td>詹姆斯</td>
<td>41</td>
<td>男</td>
</tr>
<tr>
<td>杜兰特</td>
<td>37</td>
<td>男</td>
</tr>
</table>
</body>
</html>
1.3 表格属性
表格标签这部分属性我们实际开发我们不常用,后面通过 CSS 来设置,了解即可,记住相关单词。
属性名 | 值类型 | 描述 |
---|---|---|
border | 像素值 | 设置表格边框的宽度 |
width | 像素/百分比 | 设置表格的宽度 |
height | 像素/百分比 | 设置表格的高度 |
cellspacing | 像素值 | 设置单元格之间的空白距离 |
cellpadding | 像素值 | 设置单元格内容与边框之间的空白距离 |
align | left/center/right | 设置表格在页面中的水平对齐方式 |
bgcolor | 颜色值 | 设置表格的背景颜色 |
bordercolor | 颜色值 | 设置表格边框的颜色 |
frame | void/above/below/hsides/lhs/rhs/vsides/box/border | 控制表格外边框的显示部分 |
rules | none/groups/rows/cols/all | 控制表格内边框的显示方式 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table align="center" border="1" cellspacing="40" cellpadding="50" bgcolor="#800080" bordercolor="#0000FF">
<tr>
<th>姓名</t>
<th>年龄</th>
<th>性别</t>
</tr>
<tr>
<td>库里</td>
<td>38</td>
<td>男</td>
</tr>
<tr>
<td>詹姆斯</td>
<td>41</td>
<td>男</td>
</tr>
<tr>
<td>杜兰特</td>
<td>37</td>
<td>男</td>
</tr>
</body>
</html>
1.4 综合案例
完成如图表格
实现思路:
- 第一行里面是
th
表头单元格 - 第二行开始里面是
td
普通单元格单元格里面可以放任何元素 - 文字链接图片等都可以
- 用到宽度高度边框
cellpadding
和cellspacing
- 表格浏览器中对齐
align
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table border="1" align="center" cellspacing="0">
<tr>
<th>
排名
</th>
<th>
关键词
</th>
<th>
趋势
</th>
<th>
今日搜索
</th>
<th>
最近七日
</th>
<th>
相关链接
</th>
</tr>
<tr>
<td>
1
</td>
<td>
鬼吹灯
</td>
<td>
<img src="up.jpg"/>
</td>
<td>
256
</td>
<td>
145
</td>
<td>
<a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a>
</td>
</tr>
<tr>
<td>
2
</td>
<td>
盗墓笔记
</td>
<td>
<img src="down.jpg"/>
</td>
<td>
655
</td>
<td>
433
</td>
<td>
<a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a>
</td>
</tr>
<tr>
<td>
3
</td>
<td>
西游记
</td>
<td>
<img src="down.jpg"/>
</td>
<td>
555
</td>
<td>
777
</td>
<td>
<a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a>
</td>
</tr>
<tr>
<td>
4
</td>
<td>
东游记
</td>
<td>
<img src="up.jpg"/>
</td>
<td>
4
</td>
<td>
657
</td>
<td>
<a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a>
</td>
</tr>
</table>
</body>
</html>
1.5 表格结构标签
因为表格可能很长,为了更好的表示表格的语义,可以将表格分割成表格头部和表格主体两大部分。
在表格标签中,分别用: <thead>
标签 表格的头部区域 <tbody>
标签表格的主体区域. 这样可以更好的分清表格结构。
总结:
<thead></thead>
:用于定义表格的头部。<thead>
内部必须拥有<tr>
标签。 一般是位于第一行。<tbody></tbody>
:用于定义表格的主体,主要用于放数据本体 。- 以上标签都是放在
<table></table>
标签中。
1.6 合并单元格
特殊情况下,可以把多个单元格合并为一个单元格。
合并单元格方式:
- 跨行合并: rowspan="合并单元格的个数" 最上侧单元格为目标单元格,写合并代码
- 跨列合并: colspan="合并单元格的个数" 最左侧单元格为目标单元格,写合并代码
- 合并方法: 先确定是跨行还是跨列合并。找到目标单元格. 写上合并方式 = 合并的单元格数量。 比如:
<td colspan="2"></td>
。删除多余的单元格。
实战案例:
完成如下的表格
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table border="1" align="center" cellspacing="0">
<tr>
<th colspan="5" align="center" bgcolor="#FFFF00">
个人简历
</th>
</tr>
<tr>
<td width="100px">
姓名:
</td>
<td width="100px">
</td>
<td width="100px">
性别:
</td>
<td width="100px">
</td>
<td rowspan="4" width="100px" align="center">
照片
</td>
</tr>
<tr>
<td>
婚姻状况:
</td>
<td>
</td>
<td>
出生年月:
</td>
<td>
</td>
</tr>
<tr>
<td>
民族:
</td>
<td></td>
<td>
政治面貌:
</td>
<td>
</td>
</tr>
<tr>
<td>
身高:
</td>
<td>
</td>
<td>
学历:
</td>
<td>
</td>
</tr>
</table>
</body>
</html>
2.列表
表格是用来显示数据的,那么列表就是用来布局的。
列表最大的特点就是整齐、整洁、有序,它作为布局会更加自由和方便。
根据使用情景不同,列表可以分为三大类:无序列表、有序列表和自定义列表。
2.1 无序列表
<ul>
标签表示HTML页面中项目的无序列表,一般会以项目符号呈现列表项,而列表项使用<li>
标签定义。无序列表的基本语法格式如下:
<ul>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
</ul>
使用说明:
- 无序列表的各个列表项之间没有顺序级别之分,是并列的。
<ul></ul>
中只能嵌套<li></li>
,直接在<ul></ul>
标签中输入其他标签或者文字的做法是不被允许的。<li>
与</li>
之间相当于一个容器,可以容纳所有元素。- 无序列表会带有自己的样式属性,但在实际使用时,我们会使用CSS来设置。
2.2 有序列表
有序列表即为有排列顺序的列表,其各个列表项会按照一定的顺序排列定义。在HTML标签中,
<ol>
标签用于定义有序列表,列表排序以数字来显示,并且使用<li>
标签来定义列表项。有序列表的基本语法格式如下:
<ol>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
</ol>
使用说明:
<ol>
中只能嵌套<li>
<li>
与</li>
之间相当于一个容器,可以容纳所有元素。- 有序列表会带有自己样式属性,但在实际使用时,我们会使用 CSS 来设置。
2.3 自定义列表
自定义列表的使用场景:自定义列表常用于对术语或名词进行解释和描述,定义列表的列表项前没有任何项目符号。在 HTML 标签中,
<dl>
标签用于定义描述列表(或定义列表),该标签会与 <dt>
(定义项目/名字)和 <dd>
(描述每一个项目/名字)一起使用。语法如下:
<dl>
<dt>名词1</dt>
<dd>名词1解释1</dd>
<dd>名词1解释2</dd>
</dl>
2.4 列表总结
列表类型 | 标签 | 描述 |
---|---|---|
无序列表 | <ul> <li> | 列表项无顺序,默认用项目符号显示 |
有序列表 | <ol> <li> | 列表项有顺序,默认用数字编号显示 |
自定义列表 | <dl> <dt> <dd> | 用于术语解释,<dt> 定义术语,<dd> 描述术语 |
3.表单
3.1 为什么需要表单
使用表单目的是为了收集用户信息。
在我们网页中,我们也需要跟用户进行交互,收集用户资料,此时就需要表单。
3.2 表单的组成
在HTML中,一个完整的表单通常由表单域、表单控件(也称为表单元素)和提示信息3个部分构成。
3.3 表单域
表单域是一个包含表单元素的区域。
在 HTML 标签中,<form>
标签用于定义表单域,以实现用户信息的收集和传递。 <form>
会把它范围内的表单元素信息提交给服务器。
代码示例:
<form
action=“url地址” method=“提交方式” name=“表单域名称">各种表单元素控件
</form>
3.4 表单常用属性
属性名 | 值类型 | 描述 |
---|---|---|
action | URL地址 | 指定表单提交的服务器地址 |
method | get/post | 设置表单数据的提交方式 |
name | 字符串 | 指定表单的名称 |
target | _blank/_self | 规定在何处打开action URL |
enctype | 编码类型 | 规定在发送表单数据之前如何对数据进行编码 |
autocomplete | on/off | 是否启用表单的自动完成功能 |
novalidate | novalidate | 如果使用该属性,则提交表单时不进行验证 |
3.5 表单元素
3.5.1 input表单元素
在英文单词中,input 是输入的意思,而在表单元素中<input>
标签用于收集用户信息。在 <input>
标签中,包含一个 type 属性,根据不同的 type 属性值,输入字段拥有很多种形式(可以是文本字段、复选框、掩码后的文本控件、单选按钮、按钮等)。
<input type="属性值" />
<input/>
标签为单标签 type 属性设置不同的属性值用来指定不同的控件类型
type 属性的属性值及其描述如下:
属性值 | 描述 |
---|---|
text | 定义单行文本输入字段 |
password | 定义密码字段 |
radio | 定义单选按钮 |
checkbox | 定义复选框 |
submit | 定义提交按钮 |
reset | 定义重置按钮 |
button | 定义可点击按钮(一般与js配合使用) |
file | 定义文件上传控件 |
hidden | 定义隐藏输入字段 |
image | 定义图像形式的提交按钮 |
color | 定义颜色选择器 |
date | 定义日期选择器 |
datetime-local | 定义日期时间选择器 |
定义电子邮件输入字段 | |
month | 定义月份选择器 |
number | 定义数字输入字段 |
range | 定义滑块控件 |
search | 定义搜索字段 |
tel | 定义电话号码输入字段 |
time | 定义时间选择器 |
week | 定义周选择器 |
文本框:<input type="text"/><br/>
密码框:<input type="password"/><br/>
单选框:男<input type="radio" name="sex"/> 女<input type="radio" name="sex"/> <br/>
复选框:吃饭<input type="checkbox" name="hobby"/> 睡觉<input type="checkbox" name="hobby"/> 玩<input type="checkbox" name="hobby"/><br/>
提交按钮:<input type="submit"/><br/>
重置按钮:<input type="reset"/><br/>
普通按钮:<input type="button" value="普通按钮"/><br/>
文件上传按钮:<input type="file"/><br>
隐藏字段:<input type="hidden"/><br>
图片形式按钮:<input type="image" src="up.jpg"/><br>
颜色选择器:<input type="color"/><br>
日期选择器:<input type="date"/><br>
日期时间选择器:<input type="datetime-local"/><br>
电子邮件:<input type="email"/><br>
月份选择器:<input type="month"/><br>
数字:<input type="number"/><br>
滑块控件:<input type="range"/><br>
搜索控件:<input type="search"/><br>
电话号码:<input type="tel"/><br>
时间选择器:<input type="time"/><br>
周选择器:<input type="week"/><br>
<input/>
标签的其他属性如下:
属性名 | 值类型 | 描述 |
---|---|---|
name | 字符串 | 定义input元素的名称 |
value | 字符串 | 定义input元素的值 |
checked | checked | 规定此input元素首次加载时应当被选中(用于单选按钮和复选框) |
maxlength | 数字 | 规定输入字段中的字符的最大长度 |
size | 数字 | 定义输入字段的宽度(以字符计) |
src | URL | 定义以图像形式提交按钮的图像的URL |
alt | 字符串 | 定义图像输入控件的替代文本 |
readonly | readonly | 规定输入字段为只读 |
disabled | disabled | 禁用input元素 |
autofocus | autofocus | 规定页面加载时input元素应该自动获得焦点 |
required | required | 规定必须在提交表单之前填写输入字段 |
pattern | 正则表达式 | 规定用于验证输入字段的模式 |
min | 数字/日期 | 规定输入字段的最小值 |
max | 数字/日期 | 规定输入字段的最大值 |
step | 数字 | 规定输入字段的合法数字间隔 |
multiple | multiple | 允许用户输入多个值(用于文件上传和email输入类型) |
3.5.2 label标签
<label>
标签为 input 元素定义标注(标签)。 <label>
标签用于绑定一个表单元素,当点击<label>
标签内的文本时,浏览器就会自动将焦点(光标)转到或者选择对应的表单元素上,用来增加用户体验。
使用方式:
<label for="name">用户名:</label><input type="text" id="name">
<input type="radio" id="nan"></input><label for="nan">男</label>
注意事项:<label>
标签的 for 属性应当与相关元素的 id 属性相同。
3.5.3 select表单元素
在页面中,如果有多个选项让用户选择,并且想要节约页面空间时,我们可以使用<select>
标签控件定义下拉列表。
使用方式:
<select>
<option>北京</option>
<option>天津</option>
<option>河北</option>
<option>河南</option>
</select>
3.5.4 textarea表单元素
当用户输入内容较多的情况下,我们就不能使用文本框表单了,此时我们可以使用 <textarea>
标签。
在表单元素中,<textarea>
标签是用于定义多行文本输入的控件。
使用多行文本输入控件,可以输入更多的文字,该控件常见于留言板,评论。
使用方式:
文本控件:<textarea rows="3" cols="20">文本内容</textarea>
通过 <textarea>
标签可以轻松地创建多行文本输入框。cols=“每行中的字符数” ,rows=“显示的行数”, 我们在实际开发中不会使用,都是用 CSS 来改变大小。
4.综合案例
使用所学知识完成一个注册表单
实战案例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h2>注册表单</h2>
<form>
<table>
<tr>
<td>性别:</td>
<td><input type="radio" name="sex" id="nan"><label for="nan">男</label> <input type="radio" name="sex">女</td>
</tr>
<tr>
<td>生日:</td>
<td><input type="date"></td>
</tr>
<tr>
<td>所在地区:</td>
<td><input type="text"></td>
</tr>
<tr>
<td>婚姻状态:</td>
<td><input type="radio" name="status">已婚 <input type="radio" name="status">未婚 <input type="radio" name="status">离异</td>
</tr>
<tr>
<td>学历:</td>
<td>
<select>
<option>初中</option>
<option>高中</option>
<option>大学</option>
</select>
</td>
</tr>
<tr>
<td>喜欢的类型:</td>
<td><input type="checkbox" name="type">美丽的 <input type="checkbox" name="type">大方的 <input type="checkbox" name="type">实在的</td>
</tr>
<tr>
<td>自我介绍:</td>
<td><textarea></textarea></td>
</tr>
<tr>
<td rowspan="2"><input type="button" value="免费注册"> </td>
</tr>
<tr>
<td rowspan="2"><input type="checkbox" checked="checked"> 我同意注册条款和会员加入标准</td>
</tr>
</table>
</form>
<h4>我承诺</h4>
<ul>
<li>年满18岁</li>
<li>抱着严肃的态度</li>
<li>认真找对象</li>
</ul>
</body>
</html>