## 本资源由 itjc8.com 收集
---
typora-copy-images-to: media
---

> 第01阶段.前端基础.表格

# HTML 第二天目标

能够利用表格、列表和表单完成注册页面的综合案例

* 能出说表格用来做什么的
* 能说出列表用来做什么的
* 能说出表单用来做什么的

为了让我们页面显示的更加整齐,我们需要学习三个表(表格、表单、列表)

<img src="media/guifan.png" />

# 表格 table(会使用)

目标:

* 理解:
  - 能说出表格用来做什么的
  - 表格的基本结构组成
* 应用:
  - 能够熟练写出n行n列的表格
  - 能简单的合并单元格
    ​

<img src="media/ttt.png"  width="600" />

**表格作用:**

存在即是合理的。  表格的现在还是较为常用的一种标签,但不是用来布局,**常见显示、展示表格式数据。**

因为它可以让数据显示的非常的规整,可读性非常好。

**特别是后台展示数据的时候表格运用是否熟练就显得很重要**,一个清爽简约的表格能够把繁杂的数据表现得很有条理,虽然 div 布局也可以做到,但是总没有表格来得方便。

<img src="media/table.png" />

ps:  这些地方用表格,你会觉得生活还是那么美好。。。。忍不住想说  PPAP i hava a pen

## 1. 创建表格

在HTML网页中,要想创建表格,就需要使用表格相关的标签。

**创建表格的基本语法:**

```html
<table>
  <tr>
    <td>单元格内的文字</td>
    ...
  </tr>
  ...
</table>
```

要深刻体会表格、行、单元格他们的构成。

在上面的语法中包含基本的三对HTML标签,分别为 table、tr、td,他们是创建表格的基本标签,缺一不可,下面对他们进行具体地解释

1. table用于定义一个表格标签。

2. tr标签 用于定义表格中的行,必须嵌套在 table标签中。

3. td 用于定义表格中的单元格,必须嵌套在<tr></tr>标签中。

4. 字母 td 指表格数据(table data),即数据单元格的内容,现在我们明白,表格最合适的地方就是用来存储数据的。

<img src='./media/07table基本结构.jpg'>

**总结: **

* 表格的主要目的是用来显示特殊数据的
* 一个完整的表格有表格标签(table),行标签(tr),单元格标签(td)组成,没有列的标签

- <tr></tr>中只能嵌套<td></td> 类的单元格
- <td></td>标签,他就像一个容器,可以容纳所有的元素

## 2. 表格属性

表格有部分属性我们不常用,这里重点记住 cellspacing 、 cellpadding。

<img src="media/tt.png" />

我们经常有个说法,是三参为0,  平时开发的我们这三个参数    border  cellpadding  cellspacing  为  0

<img src='./media/07table表格属性.jpg'>

**案例1:**

<img src='./media/表格效果01.png'>

```html
<table width="500" height="300" border="1" cellpadding="20" cellspacing="0" align="center">
   <tr>  <th>姓名</th>   <th>性别</th> <th>年龄</th>  </tr>
   <tr>  <td>刘德华</td> <td>男</td> <td>55</td>  </tr>
   <tr>  <td>郭富城</td> <td>男</td> <td>52</td>  </tr>
   <tr>  <td>张学友</td> <td>男</td> <td>58</td>  </tr>
   <tr>  <td>黎明</td>   <td>男</td> <td>18</td>  </tr>
   <tr>  <td>刘晓庆</td> <td>女</td> <td>63</td>  </tr>
</table>
```

## 3. 表头单元格标签th

- 作用:
  - 一般表头单元格位于表格的第一行或第一列,并且文本加粗居中
- 语法:
  - 只需用表头标签&lt;th&gt;</th&gt;替代相应的单元格标签&lt;td&gt;</td&gt;即可。

<img src="media/th.png" />

**案例2:**

​    效果图

<img src="media/tht.png" />

​    代码:

***

```html
<table width="500" border="1" align="center" cellspacing="0" cellpadding="0">
        <tr>  
            <th>姓名</th> 
            <th>性别</th>
            <th>电话</th>
        </tr>
        <tr>
            <td>小王</td>
            <td>女</td>
            <td>110</td>
        </tr>
        <tr>
            <td>小明</td>
            <td>男</td>
            <td>120</td>
        </tr>    
    </table>
```

**pink老师 一句话说出他们:**

> th 也是一个单元格   只不过和普通的 td单元格不一样,它会让自己里面的文字居中且加粗

## 4. 表格标题caption

**定义和用法**

```html
<table>
   <caption>我是表格标题</caption>
</table>
```

**注意: **

1. caption 元素定义**表格标题**,通常这个标题会被居中且显示于表格之上。
2. caption 标签必须紧随 table 标签之后。
3. 这个标签只存在 表格里面才有意义。你是风儿我是沙

**案例3:**

根据要求完成以下案例:

<img src="media/pa.png" />

## 5. 合并单元格(难点)

合并单元格是我们比较常用的一个操作,但是不会合并的很复杂。

<img src="media/he.jpg" />

###  5.1 合并单元格2种方式

* 跨行合并:rowspan="合并单元格的个数"      
* 跨列合并:colspan="合并单元格的个数"

<img src='./media/08table合并单元格.jpg'>

### 5.2 合并单元格顺序

> **合并的顺序我们按照   先上 后下     先左  后右 的顺序 **

跟我们以前学习汉字的书写顺序完全一致。

### 5.3 合并单元格三步曲

1. 先确定是跨行还是跨列合并
2. 根据 先上 后下   先左  后右的原则找到目标单元格    然后写上 合并方式 还有 要合并的单元格数量  比如 : <td colspan="3">   </td>
3. 删除多余的单元格 单元格

## 6. 总结表格

| 标签名              | 定义           | 说明                                         |
| ------------------- | :------------- | :------------------------------------------- |
| <table></table>     | 表格标签       | 就是一个四方的盒子                           |
| <tr></tr>           | 表格行标签     | 行标签要再table标签内部才有意义              |
| <td></td>           | 单元格标签     | 单元格标签是个容器级元素,可以放任何东西     |
| <th></th>           | 表头单元格标签 | 它还是一个单元格,但是里面的文字会居中且加粗 |
| <caption></caption> | 表格标题标签   | 表格的标题,跟着表格一起走,和表格居中对齐   |
| clospan 和 rowspan  | 合并属性       | 用来合并单元格的                             |

1. 表格提供了HTML 中定义表格式数据的方法。
2. 表格中由行中的单元格组成。
3. 表格中没有列元素,列的个数取决于行的单元格个数。
4. 表格不要纠结于外观,那是CSS 的作用。
5. 表格的学习要求:  能手写表格结构,并且能简单合并单元格。

## 7. 拓展阅读@

### 表格划分结构(了解)

```
对于比较复杂的表格,表格的结构也就相对的复杂了,所以又将表格分割成三个部分:题头、正文和脚注。而这三部分分别用:thead,tbody,tfoot来标注, 这样更好的分清表格结构
```

<img src="../%E7%AC%94%E8%AE%B0/media/thead.png" />

**注意:**

1. <thead></thead>:用于定义表格的头部。用来放标题之类的东西。<thead> 内部必须拥有 <tr> 标签!
2. <tbody></tbody>:用于定义表格的主体。放数据本体 。
3. <tfoot></tfoot>放表格的脚注之类。
4. 以上标签都是放到table标签中。

## 本资源由 itjc8.com 收集
---
typora-copy-images-to: media
---

> 第01阶段.前端基础.列表和表单
# 1. 列表标签(重点)

## 学习目标

- 理解
  - 无序列表的应用场景
  - 自定义列表的应用场景
- 应用
  - 无序列表语法
  - 自定义列表语法

问?

前面我们知道表格一般用于数据展示的,但是网页中还是有很多跟表格类似的布局,如下图~~ 我们用什么做呢?

<img src="media/lili.png" />

答:

答案是列表, 那什么是列表?  表格是用来显示数据的,那么列表就是用来布局的。 因为非常整齐和自由

<img src="media/list.png" />

- 概念:

容器里面装载着结构,样式一致的文字或图表的一种形式,叫列表

- 特点:

列表最大的特点就是  整齐 、整洁、 有序,跟表格类似,但是他可组合自由度会更高。

## 1.1 无序列表 ul (重点)

无序列表的各个列表项之间没有顺序级别之分,是并列的。其基本语法格式如下:

```html
<ul>
  <li>列表项1</li>
  <li>列表项2</li>
  <li>列表项3</li>
  ......
</ul>
```

比如下面这些,新闻是没有顺序的,不用排队,先到先得,后发布先显示。

<img src="media/ul.png" />

**脚下留心:**

```
 1. <ul></ul>中只能嵌套<li></li>,直接在<ul></ul>标签中输入其他标签或者文字的做法是不被允许的。
 2. <li>与</li>之间相当于一个容器,可以容纳所有元素。
 3. 无序列表会带有自己样式属性,放下那个样式,一会让CSS来!
```

## 1.2  有序列表 ol (了解)

<img src="media/gold.png" />

有序列表即为有排列顺序的列表,其各个列表项按照一定的顺序排列定义,有序列表的基本语法格式如下:

```html
<ol>
  <li>列表项1</li>
  <li>列表项2</li>
  <li>列表项3</li>
  ......
</ol>
```

所有特性基本与ul 一致。  但是实际中比 无序列表 用的少很多。

## 1.3 自定义列表(理解)

定义列表常用于对术语或名词进行解释和描述,定义列表的列表项前没有任何项目符号。其基本语法如下:

```html
<dl>
  <dt>名词1</dt>
  <dd>名词1解释1</dd>
  <dd>名词1解释2</dd>
  ...
  <dt>名词2</dt>
  <dd>名词2解释1</dd>
  <dd>名词2解释2</dd>
  ...
</dl>
```

<img src="media/2.jpg" />

用的还可以:

<img src="media/mix.png" />

<img src='media/09自定义列表.jpg'>

## 1.4 列表总结

| 标签名    |     定义     | 说明                                                   |
| --------- | :----------: | :----------------------------------------------------- |
| <ul></ul> | **无序标签** | 里面只能包含li    没有顺序,我们以后布局中最常用的列表 |
| <ol></ol> |   有序标签   | 里面只能包含li    有顺序, 使用情况较少                |
| <dl></dl> |  自定义列表  | 里面有2个兄弟, dt 和 dd                               |

我们现在还没有学布局,现在只要保证2个点:

1. 学会什么时候用无序列表, 学会什么时候用自定义列表
2. 无序列表和自定义列表代码怎么写?
3. 具体的我们刚才看的布局,等我们学了css 在来全面布局。

# 2. 表单标签(掌握)

目标:

* 能写出最常用的注册类表单
* 能说出input表单常见属性

现实中的表单,类似我们去银行办理信用卡填写的单子。 如下图

<img src="media/car.jpg"  width="500" />

**作用: **

表单目的是为了收集用户信息。

在我们网页中, 我们也需要跟用户进行交互,收集用户资料,此时也需要表单。

> 在HTML中,一个完整的表单通常由表单控件(也称为表单元素)、提示信息和表单域3个部分构成。

<img src="media/bd.png" />

**表单控件: **

​       包含了具体的表单功能项,如单行文本输入框、密码输入框、复选框、提交按钮、重置按钮等。

**提示信息:**

​        一个表单中通常还需要包含一些说明性的文字,提示用户进行填写和操作。

**表单域:**

​      他相当于一个容器,用来容纳所有的表单控件和提示信息,可以通过他定义处理表单数据所用程序的url地址,以及数据提交到服务器的方法。如果不定义表单域,表单中的数据就无法传送到后台服务器。

## 2.1 input 控件(重点)

- 语法:

```html
  <input type="属性值" value="你好">
  ```

- input 输入的意思 
  - <input /&gt;标签为单标签
  - type属性设置不同的属性值用来指定不同的控件类型
  - 除了type属性还有别的属性

- 常用属性:

<img src="media/input.png" />

#### 1. type 属性

* 这个属性通过改变值,可以决定了你属于那种input表单。
* 比如 type = 'text'  就表示 文本框 可以做 用户名, 昵称等。
* 比如 type = 'password'  就是表示密码框   用户输入的内容 是不可见的。

```html
用户名: <input type="text" /> 
密  码:<input type="password" />
```

#### 2. value属性   值

```html
用户名:<input type="text"  name="username" value="请输入用户名"> 
```

* value 默认的文本值。 有些表单想刚打开页面就默认显示几个文字,就可以通过这个value 来设置。

#### 3. name属性
~~~html
用户名:<input type="text"  name=“username” />  
~~~

name表单的名字, 这样,后台可以通过这个name属性找到这个表单。  页面中的表单很多,name主要作用就是用于区别不同的表单。

* name属性后面的值,是我们自己定义的。

* radio  如果是一组,我们必须给他们命名相同的名字 name   这样就可以多个选其中的一个啦

```html
<input type="radio" name="sex"  />男
<input type="radio" name="sex" />女
```

* name属性,我们现在用的较少, 但是,当我们学ajax 和后台的时候,是必须的。

#### 4. checked属性

* 表示默认选中状态。  较常见于 单选按钮和复选按钮。

```html
性    别:
<input type="radio" name="sex" value="男" checked="checked" />男
<input type="radio" name="sex" value="女" />女 
```

上面这个,表示就默认选中了 男 这个单选按钮

#### 5. input 属性小结

| 属性    | 说明     | 作用                                                   |
| ------- | :------- | ------------------------------------------------------ |
| type    | 表单类型 | 用来指定不同的控件类型                                 |
| value   | 表单值   | 表单里面默认显示的文本                                 |
| name    | 表单名字 | 页面中的表单很多,name主要作用就是用于区别不同的表单。 |
| checked | 默认选中 | 表示那个单选或者复选按钮一开始就被选中了               |

## 2.2 label标签(理解)

**目标:**

label标签主要目的是为了提高用户体验。 为用户提高最优秀的服务。

**概念:**

label 标签为 input 元素定义标注(标签)。

**作用:**

用于绑定一个表单元素, 当点击label标签的时候, 被绑定的表单元素就会获得输入焦点。

**如何绑定元素呢?**

1. 第一种用法就是用label直接包括input表单。

```html
<label> 用户名: <input type="radio" name="usename" value="请输入用户名">   </label>
```

适合单个表单选择

2. 第二种用法 for 属性规定 label 与哪个表单元素绑定。

```html
<label for="sex">男</label>
<input type="radio" name="sex"  id="sex">
```

**pink老师 一句话说出他们:**

>  当我们鼠标点击 label标签里面的文字时, 光标会定位到指定的表单里面

## 2.3 textarea控件(文本域)

<img src="media/textarea.png" />

- 语法:

```html
<textarea >
  文本内容
</textarea>
```

- 作用:

通过textarea控件可以轻松地创建多行文本输入框.

cols="每行中的字符数" rows="显示的行数"  我们实际开发不用

#### 文本框和文本域区别

| 表单                |  名称  |    区别    |            默认值显示 |       用于场景 |
| :---------------- | :--: | :------: | ---------------: | ---------: |
| input type="text" | 文本框  | 只能显示一行文本 | 单标签,通过value显示默认值 | 用户名、昵称、密码等 |
| textarea          | 文本域  | 可以显示多行文本 |    双标签,默认值写到标签中间 |        留言板 |

## 2.4 select下拉列表

**目的:**

如果有多个选项让用户选择,为了节约空间,我们可以使用select控件定义下拉列表.

<img src="media/sele.png" />

**语法:**

```html
<select>
  <option>选项1</option>
  <option>选项2</option>
  <option>选项3</option>
  ...
</select>
```

* 注意:

1. &lt;select&gt;  中至少包含一对 option 
2. 在option 中定义selected =" selected "时,当前项即为默认选中项。
3. 但是我们实际开发会用的比较少

# 3. form表单域

- 收集的用户信息怎么传递给服务器?

通过form表单域

- 目的:

在HTML中,form标签被用于定义表单域,以实现用户信息的收集和传递,form中的所有内容都会被提交给服务器。

**语法: **

```html
<form action="url地址" method="提交方式" name="表单名称">
  各种表单控件
</form>
```

**常用属性:**

| 属性     | 属性值      | 作用                          |
| ------ | :------- | --------------------------- |
| action | url地址    | 用于指定接收并处理表单数据的服务器程序的url地址。  |
| method | get/post | 用于设置表单数据的提交方式,其取值为get或post。 |
| name   | 名称       | 用于指定表单的名称,以区分同一个页面中的多个表单。   |

**注意:**

每个表单都应该有自己表单域。我们现在做页面,不写看不到效果,但是 如果后面学 ajax 后台交互的时候,必须需要 form表单域。

## 2.6 团队约定

### 元素属性

- 元素属性值使用双引号语法
- 元素属性值可以写上的都写上

*推荐:*

```html
<input type="text" />    
<input type="radio" name="name" checked="checked" />
```

*不推荐:*

```html
<input type=text  />    
<input type='text' />    
<input type="radio" name="name" checked />
```

# 4.综合案例(注册页面)

<img src="media/bdd.png"/>

# 5. 查文档

经常查阅文档是一个非常好的学习习惯。

W3C :  http://www.w3school.com.cn/

MDN: https://developer.mozilla.org/zh-CN/

# 6. 总结

<img src="media/guifan.png" />

前端之表格,表单,列表相关推荐

  1. Web前端 | HTML | 表格 | 表单

    目录--今日任务 表格 关卡2 表单 关卡3 表格 表格由 <table> 标签来定义: 每个表格均有若干行,由 <tr> 标签定义: 每行被分割为若干单元格,由 <td ...

  2. 2017-2-15从0开始前端学习笔记(HTML)-图片-表格-表单

    2017-2-15从0开始前端学习笔记-图片-表格-表单 标签 图片 图片<img src="#" alt="文本说明 不能加载图片时显示" title= ...

  3. 定义列表的特点html,HTML的列表表格表单知识点

    无序列表格式                                                                                              ...

  4. Bootstrap框架(基础篇)之列表,表格,表单

    继续上篇的基础部分延伸,主要说一下列表,表格,表单相关Bootstrap框架变化以及基础知识. 1.列表篇 除了HTML提供的三种基本列表样式: 无序列表 <ul><li>-& ...

  5. js table 生成序号_el-table树形表格表单验证,js树形列表生成序号

    树形表格表单验证预览 树形列表生成序号 首先需要生成一个序号用来确定表单验证的目标row,通过广度优先遍历,以1,1.1,1.1.1的规则对树形列表生成确定唯一值的索引,因为列表自身可以做CURD,因 ...

  6. js table 生成序号_el-table树形表格表单验证(列表生成序号)

    树形表格表单验证预览 树形列表生成序号 首先需要生成一个序号用来确定表单验证的目标row,通过广度优先遍历,以1,1.1,1.1.1的规则对树形列表生成确定唯一值的索引,因为列表自身可以做CURD,因 ...

  7. 【4001】通过html做一个静态页面的表格表单,嘿嘿。

    学习目标: [ 1]学习前端第一天掌握 html(主要表单表格相关)入门知识,梳理今天的学习知识点: [ 2]通过已学知识做静态页面表格表单完成效果,效果图如下: 表单不加颜色是这样的,自己看着设计: ...

  8. HTML、CSS、表格表单简单代码笔记

    学习更多建议菜鸟教程 Target使用 <!DOCTYPE html> <html lang="en"> <head><meta char ...

  9. 获取form表单_【第1535期】前端 Form 的表单的一个通用解决方案

    前言 今日早读文章由阿里@布达投稿分享. @布达,Alibaba Fusion项目组的.花名潕量.主要专注在设计系统.组件.可视化搭建这个领域 正文从这开始-- Fusion Next - Form ...

  10. 前端:简述表单提交前如何进行数据验证

    前端:简述表单提交前如何进行数据验证 通常在提交表单数据时,我们会对数据进行验证,例如某些字段是必填字段,不能为空,这时应该如何做呢?有如下三种方法: 一.在button的submit事件进行判断 & ...

最新文章

  1. python第三方库下载-3、python第三方库的安装方式
  2. html商城选择尺寸,Html 中各种宽高尺寸汇总
  3. InfluxDB基本使用说明
  4. python文本词频统计是字典吗_Python文本挖掘: 词频统计,词云图
  5. 错误整理:No plugin found for prefix 'jetty' in the current project and in the plugin groups
  6. UITableView 自带编辑删除 自己定义button
  7. 93.接收上游的响应
  8. 设置Exchange 通讯组接收外部组织邮件
  9. 有关计算机的未来想象作文,电脑的想象作文
  10. Luogu1832 A+B Problem(再升级)
  11. Android下载网络图片并缓存
  12. 1.供给与需求分析(交通流理论)
  13. 虚拟机安装程序没有找到安装在此计算机上的硬盘驱动器,安装VMware提示无效驱动器:E:\ 解决方法...
  14. stm32f4有重映射么_STM32单片机重映射USART设计
  15. Centos自动登录
  16. RabbitMQ实现订单30分钟超时自动关闭
  17. 一本关于互联网与职场的湿暗后厨,和99元人民币的关系
  18. 1700页!!我把 Java《八股文》肝完了...
  19. Linux下tomcat重启
  20. 做软件测试工程师真的很容易吗?

热门文章

  1. 【SLAM文献】2017-2018 CVPR ICCV ECCV 相机位姿估计、视觉定位、SLAM相关论文综述
  2. 华为 中兴 海康嵌入式软件工程师面试题
  3. gx works2 存储器空间或桌面堆栈不足_手机存储不够怎么办?ORICO备份宝让你拥有无限扩容空间...
  4. 1.7 ThreadLocal的原理和使用详解
  5. 微软亚洲研究院“牵手”莲花山视觉研究院
  6. win7计算机怎样共享的打印机,两台win7电脑如何共享打印机
  7. Keil5新建工程项目
  8. github国内镜像
  9. 基于数据挖掘的上市公司财务数据分析——第九届“泰迪杯”挑战赛A题优秀作品
  10. C# 调用Windows media play 播放器方法