` 是一个通用的内容容器,并没有任何特殊语义。它可以被用来对其它元素进行分组,一般用于样式化相关的需求。它是一个**块级元素**。
* 属性:id、style、class
* `
` 是短语内容的通用行内容器,并没有任何特殊语义。它可以被用来编组元素以达到某种样式。它是一个**行内元素**
***
### 基本属性
标签属性,主要用于拓展标签。属性包含元素的额外信息,这些信息不会出现在实际的内容中。但是可以改变标签的一些行为或者提供数据,属性总是以`name = value"`的格式展现。
* 属性名:同一个标签中,属性名不得重复。
* 大小写:属性和属性值对大小写不敏感。不过W3C标准中,推荐使用小写的属性/属性值。
* 引号:双引号是最常用的,不过使用单引号也没有问题。
* 常用属性:
| 属性名 | 作用 |
| ------ | ------------------------------------------------ |
| class | 定义元素类名,用来选择和访问特定的元素 |
| id | 定义元素**唯一**标识符,在整个文档中必须是唯一的 |
| name | 定义元素名称,可以用于提交服务器的表单字段 |
| value | 定义在元素内显示的默认值 |
| style | 定义CSS样式,这些样式会覆盖之前设置的样式 |
***
### 特殊字符
在HTML中,字符 `<`, `>`,`"`,`'` 和 `&` 是特殊字符
| 原义字符 | 等价字符引用 |
| -------- | ------------ |
| < | `<` |
| > | `>` |
| " | `"` |
| ' | `'` |
| & | `&` |
| 空格 | ` ` |
***
### 文本标签
使用文本内容标签设置文字基本样式
| 标签名 | 作用 |
| ------ | ------------------------------------------------------------ |
| p | 表示文本的一个段落 |
| h | 表示文档标题,`–` ,呈现了六个不同的级别的标题,`` 级别最高,而 `` 级别最低 |
| hr | 表示段落级元素之间的主题转换,一般显示为水平线 |
| li | 表示列表里的条目。(常用在ul ol 中) |
| ul | 表示一个无序列表,可含多个元素,无编号显示。 |
| ol | 表示一个有序列表,通常渲染为有带编号的列表 |
| em | 表示文本着重,一般用斜体显示 |
| strong | 表示文本重要,一般用粗体显示 |
| font | 表示字体,可以设置样式(已过时) |
| i | 表示斜体 |
| b | 表示加粗文本 |
````html
文本标签演示
这些年
支付宝的诞生就是为了解决淘宝网的客户们的买卖问题
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
- 传智播客
- 黑马程序员
我倾斜了
我倾斜了
加粗文本
加粗文本
这是一段文字
````
**效果如下**:

***
### 图片标签
img标签中的img其实是英文image的缩写, img标签的作用, 就是告诉浏览器我们需要显示一张图片
```html
```
| 属性名 | 作用 |
| ---------- | ---------------------------------- |
| **src** | 图片路径 |
| **title** | 鼠标悬停(hover)时显示文本。 |
| **alt** | 图片描述,图形不显示时的替换文本。 |
| **height** | 图像的高度。 |
| **width** | 图像的宽度。 |
***
### 超链接
超链接标签的作用: 就是用于控制页面与页面(服务器资源)之间跳转的
```html
需要展现给用户的内容
target属性取值:
_blank:新起页面
_self:当前页面(默认)
```
```html
超链接标签演示
点我跳转到样式演示
传智播客
黑马程序员
```
效果图:
***
### 表单标签
#### 基本介绍
**form** 表示表单,是用来**收集用户输入信息并向 Web 服务器提交**的一个容器
```html
```
| 属性名 | 作用 |
| ------------ | ------------------------------------------------------------ |
| action | 处理此表单信息的Web服务器的URL地址 |
| method | 提交此表单信息到Web服务器的方式,可能的值有get和post,默认为get |
| autocomplete | 自动补全,指示表单元素是否能够拥有一个默认值,配合input标签使用 |
get与post区别:
* post:指的是 HTTP [POST 方法](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5);表单数据会包含在表单体内然后发送给服务器。
* get:指的是 HTTP [GET 方法](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3);表单数据会附加在 `action` 属性的URI中,并以 '?' 作为分隔符,然后这样得到的 URI 再发送给服务器。
| | 地址栏可见 | 数据安全 | 数据大小 |
| ---- | ---------- | -------- | ---------------------- |
| GET | 可见 | 不安全 | 有限制(取决于浏览器) |
| POST | 不可见 | 相对安全 | 无限制 |
#### 表单元素
| 标签名 | 作用 | 备注 |
| -------- | -------------------------------------------------- | ------------------------------- |
| label | 表单元素的说明,配合表单元素使用 | for属性值为相关表单元素id属性值 |
| input | 表单中输入控件,多种输入类型,用于接受来自用户数据 | type属性值决定输入类型 |
| button | 页面中可点击的按钮,可以配合表单进行提交 | type属性值决定按钮类型 |
| select | 表单的控件,下拉选项菜单 | 与option配合实用 |
| optgroup | option的分组标签 | 与option配合实用 |
| option | select的子标签,表示一个选项 | |
| textarea | 表示多行纯文本编辑控件 | |
| fieldset | 用来对表单中的控制元素进行分组(也包括 label 元素) | |
| legend | 用于表示它的fieldset内容的标题。 | fieldset 的子元素 |
#### 按键控件
button标签:表示按钮
* type属性:表示按钮类型,submit值为提交按钮。
| 属性值 | 作用 | 备注 |
| ------ | ------------------------------------------------ | ---------------------------- |
| button | 无行为按钮,用于结合JavaScript实现自定义动态效果 | 同 ` ` |
| submit | 提交按钮,用于提交表单数据到服务器。 | 同 ` ` |
| reset | 重置按钮,用于将表单中内容恢复为默认值。 | 同` |
****
#### 输入控件
##### 基本介绍
* label标签:表单的说明。
* for属性值:匹配input标签的id属性值
* input标签:输入控件。
属性:
* type:表示输入类型,text值为普通文本框
* id:表示标签唯一标识
* name:表示标签名称,提交服务器的标识
* value:表示标签的默认数据值
* placeholder:默认的提示信息,仅适用于当type 属性为text, search, tel, url or email时;
* required:是否必须为该元素填充值,当type属性是hidden,image或者button类型时不可使用
* readonly:是否只读,可以让用户不修改这个输入框的值,就使用value属性设置默认值
* disabled:是否可用,如果某个输入框有disabled那么它的数据不能提交到服务器通常是使用在有的页面中,让一些按钮不能点击
* autocomplete:自动补全,规定表单或输入字段是否应该自动完成。当自动完成开启,浏览器会基于用户之前的输入值自动填写值。可以设置指定的字段为off,关闭自动补全
```html
```
效果图:
表单项标签
##### n-v属性
| 属性名 | 作用 |
| --------- | ------------------------------------------------------------ |
| **name** | ``的名字,在提交整个表单数据时,可以用于区分属于不同``的值 |
| **value** | 这个``元素当前的值,允许用户通过页面输入 |
使用方式:以name属性值作为键,value属性值作为值,构成键值对提交到服务器,多个键值对浏览器使用`&`进行分隔。

##### type属性
| 属性值 | 作用 | 备注 |
| -------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| text | 单行文本字段 | |
| password | 单行文本字段,值被遮盖 | |
| email | 用于编辑 e-mail 的字段,可以对e-mail地址进行简单校验 | |
| radio | 单选按钮。 1. 在同一个”单选按钮组“中,所有单选按钮的 name 属性使用同一个值;一个单选按钮组中是,同一时间只有一个单选按钮可以被选择。 2. 必须使用 value 属性定义此控件被提交时的值。 3. 使用checked 必须指示控件是否缺省被选择。 | |
| checkbox | 复选框。 1. 必须使用 value 属性定义此控件被提交时的值。 2. 使用 checked 属性指示控件是否被选择。 3. 选中多个值时,所有的值会构成一个数组而提交到Web服务器 | |
| date | HTML5 用于输入日期的控件 | 年,月,日,不包括时间 |
| time | HTML5 用于输入时间的控件 | 不含时区 |
| datetime-local | HTML5 用于输入日期时间的控件 | 不包含时区 |
| number | HTML5 用于输入浮点数的控件 | |
| range | HTML5 用于输入不精确值控件 | max-规定最大值min-规定最小值 step-规定步进值 value-规定默认值 |
| search | HTML5 用于输入搜索字符串的单行文本字段 | 可以点击`x`清除内容 |
| tel | HTML5 用于输入电话号码的控件 | |
| url | HTML5 用于编辑URL的字段 | 可以校验URL地址格式 |
| file | 此控件可以让用户选择文件,用于文件上传。 | 使用 accept 属性可以定义控件可以选择的文件类型。 |
| hidden | 此控件用户在页面上不可见,但它的值会被提交到服务器,用于传递隐藏值 | |
```html
type属性演示
```

****
#### 选择控件
下拉列表标签