## HTML第一天重点知识引导笔记
####1、基础班学习路线
<img src="./img/1.png" alt="学习路线" />
####2、网页相关概念
- 什么是网页:
网站是指在因特网上根据一定的规则,使用 HTML 等制作的用于展示特定内容相关的网页集合。 网页是网站中的一“页”,通常是 HTML 格式的文件,它要通过浏览器来阅读。
- 网页的组成:
网页是构成网站的基本元素,它通常由图片、链接、文字、声音、视频等元素组成。通常我们看到的网页, 常见以 .htm 或 .html 后缀结尾的文件,因此将其俗称为 HTML 文件。
- 什么是html:
1、HTML 指的是超文本标记语言 (Hyper Text Markup Language) ,它是用来描述网页的一种语言。
2、HTML 不是一种编程语言,而是一种标记语言 (markup language)。
3、标记语言是一套标记标签 (markup tag)。
所谓超文本,有 2 层含义:
1、它可以加入图片、声音、动画、多媒体等内容(超越了文本限制 )。
2、它还可以从一个文件跳转到另一个文件,与世界各地主机的文件连接(超级链接文本 )。
- 网页的组成:
网页是由网页元素组成的,这些元素是利用 html 标签描述出来,然后通过浏览器解析来显示给用户的。 <img src="./img/2.png" />
- 网页的总结:
1、网页是图片、链接、文字、声音、视频等元素组成, 其实就是一个html文件(后缀名为html)
2、网页生成制作: 有前端人员书写 HTML 文件, 然后浏览器打开,就能看到了网页.
3、HTML: 超文本标记语言, 用来制作网页的一门语言. 有标签组成的. 比如 图片标签 链接标签 视频标签等...
#### 3、浏览器和浏览器内核
- 常用的浏览器: IE、火狐(Firefox)、谷歌(Chrome)、Safari和Opera等。
<img src="./img/3.png" />
- 浏览器内核:负责读取网页内容,整理讯息,计算网页的显示方式并显示页面。
<img src="./img/4.png" />
####4、web标准
- 什么是web标准
**Web 标准**是由 W3C 组织和其他标准化组织制定的一系列标准的集合。W3C(万维网联盟)是国际最著名的标准化组织。
- 为什么需要web标准
浏览器不同,它们显示页面或者排版就有些许差异。
<img src="./img/5.png" />
遵循 Web 标准除了可以让不同的开发人员写出的页面更标准、更统一外,还有以下优点:
1、让 Web 的发展前景更广阔。
2、内容能被更广泛的设备访问。
3、更容易被搜寻引擎搜索。
4、降低网站流量费用。
5、使网站更易于维护。
6、提高页面浏览速度。
- web标准的构成
web标准主要包括**结构**(Structure) 、**表现**(Presentation)和**行为**(Behavior)三个方面。
<img src="./img/6.png" />
Web 标准提出的最佳体验方案:结构、样式、行为相分离。
简单理解: 结构写到 HTML 文件中, 表现写到 CSS 文件中, 行为写到 JavaScript 文件中
<img src="./img/7.png" />
#### 5、html语法规范
- html语法规则
1、尖括号包括关键词。```<html>```
2、HTML 标签通常是成对出现的。例如 ```<html></html>```
3、 标签对中的第一个标签是开始标签,第二个标签是结束标签。
- html标签关系:双标签关系可以分为两类:包含关系和并列关系。
<img src="./img/8.png" />
#### 6、html基本结构标签
```html
<html>
<head>
<title></title>
</head>
<body></body>
</html>
```
<img src="./img/9.png" />
#### 7、前端开发工具
- 常用的前端开发工具:Dreamweaver、Sublime、WebStorm、HBuilder、**VsCode**
<img src="./img/10.png" />
- VsCode基本使用方法
1. 双击打开软件。
2. 新建文件(Ctrl + N )。
3. 保存(Ctrl + S ), 注意移动要保存为 .html 文件 。
4. Ctrl + 加号键 ,Ctrl + 减号键 可以放大缩小视图 。
5. 生成页面骨架结构(输入! 按下 Tab 键)。
6. 利用插件在浏览器中预览页面:单击鼠标右键,在弹出窗口中点击“Open In Default Browser”。
- VsCode常用插件
1、Chinese(汉化插件)
2、Open In Default Browser(右键在浏览器打开)
3、cssrem(像素转换插件,就业班需要)
#### 8、VsCode生成新增代码
- ```<!DOCTYPE>``` :
**含义:**文档类型声明,作用就是告诉浏览器使用哪种HTML版本来显示网页。
``` <!DOCTYPE html>```
这句代码的意思是: 当前页面采取的是 HTML5 版本来显示网页
**注意:**
1、``` <!DOCTYPE>``` 声明位于文档中的最前面的位置,处于``` <html>``` 标签之前。
2、``` <!DOCTYPE>```不是一个 HTML 标签,它就是文档类型声明标签。
- lang 语言种类
**含义:**用来定义当前文档显示的语言。(en定义语言为英语、zh-CN定义语言为中文)
简单来说:定义为en 就是英文网页, 定义为 zh-CN 就是中文网页
其实对于文档显示来说,定义成en的文档也可以显示中文,定义成zh-CN的文档也可以显示英文
这个属性对浏览器和搜索引擎(百度、谷歌等)还是有作用的
- 字符集
**含义:**字符集 (Character set)是多个字符的集合。以便计算机能够识别和存储各种文字。
在```<head>```标签内,可以通过```<meta>```标签的 **charset** 属性来规定 HTML 文档应该使用哪种字符编码。
```html
<meta charset="UTF-8" />
```
扩充:charset 常用的值有:GB2312 、BIG5 、GBK 和 UTF-8,其中 UTF-8 也被称为万国码,基本包含了全 世界所 有国家需要用到的字符。
注意:上面语法是必须要写的代码,否则可能引起乱码的情况。一般情况下,统一使用“UTF-8”编码,尽量 统一写成标准的 "UTF-8",不要写成 "utf8" 或 "UTF8"。
- 总结
1、以上三个代码 vscode 自动生成,基本不需要我们自己写。
2、```<!DOCTYPE html>``` 文档类型声明标签,告诉浏览器这个页面采取html5版本来显示页面。
3、```<html lang="en">``` 告诉浏览器或者搜索引擎这是一个英文网站. 本页面采取英文来显示。
4、``` <meta charset=“ UTF-8” />``` 必须写. 采取 UTF-8来保存文字. 如果不写就会乱码.具体原理后面分析。
#### 9、语义化标签
简单理解就是指标签的含义
1、方便记忆
2、结构清晰
#### 10、标题标签 ``` <h1> ~ <h6>``` (重要)
单词 head 的缩写,意为头部、标题。
```html
<h1>标题一共六级选,</h1>
<h2>文字加粗一行显。</h2>
<h3>由大到小依次减,</h3>
<h4>从重到轻随之变。</h4>
<h5>语法规范书写后,</h5>
<h6>具体效果刷新见。</h6>
```
**标签语义:**作为标题使用,并且依据重要性递减。
**特点:**1、 加了标题的文字会变的加粗,字号也会依次变大。 2、 一个标题独占一行。
#### 11、段落和换行标签(重要)
- 段落标签```<p></p>```
在网页中,要把文字有条理地显示出来,就需要将这些文字分段显示。在 HTML 标签中,```<p>```标签用于定义段落,它可以将整个网页分为若干个段落。
```html
<p>这一个段落标签</p>
```
**标签语义:**可以把 HTML 文档分割为若干段落。
**特点:** 1、文本在一个段落中会根据浏览器窗口的大小自动换行。 2、段落和段落之间保有空隙。
- 换行标签```<br />```
在 HTML 中,一个段落中的文字会从左到右依次排列,直到浏览器窗口的右端,然后才自动换行。如果希望 某段文本强制换行显示,就需要使用换行标签 ```<br />```。
```html
<br />
```
**标签语义:**强制换行。
**特点:** 1、```<br />``` 是个单标签。
2、``` <br />``` 标签只是简单地开始新的一行,跟段落不一样,段落之间会插入一些垂直的间距。
#### 12、文本格式化标签
在网页中,有时需要为文字设置粗体、斜体 或下划线等效果,这时就需要用到 HTML 中的文本格式化标签,使 文字以特殊的方式显示。
| 语义 | 标签 | 说明 |
| :----: | :------------------------------: | :------------------------------------------: |
| 加粗 | ```<strong></strong>或<b></b>``` | 更推荐使用```<strong>```标签加粗,语义更强烈 |
| 倾斜 | ``` <em></em>或<i></i> ``` | 更推荐使用```<em>```标签加粗,语义更强烈 |
| 删除线 | ```<del></del>或<s></s> ``` | 更推荐使用```<del>```标签加粗,语义更强烈 |
| 下划线 | ```<ins></ins>或<u></u> ``` | 更推荐使用```<ins>```标签加粗,语义更强烈 |
**重点:**同学们重点记住 **加粗** 和 *倾斜*。
#### 13、```<div>和<span>```标签
```<div> 和 <span> ```是没有语义的,它们就是一个盒子,用来装内容的。
```html
<div>这是一个头部</div>
<span>今日价格</span>
```
div 是 division 的缩写,表示分割、分区。span 意为跨度、跨距。
**特点:** 1、 ```<div>``` 标签用来布局,但是现在一行只能放一个```<div>```。 大盒子
2、```<span>``` 标签用来布局,一行上可以多个``` <span>```。小盒子
#### 14、图像标签```<img>```
在 HTML 标签中,```<img>``` 标签用于定义 HTML 页面中的图像。
```html
<img src="图像URL" />
```
单词 image 的缩写,意为图像。
src 是<img>标签的必须属性,它用于指定图像文件的路径和文件名。
**属性:**简单理解就是属于这个图像标签的特性。
<img src="./img/11.png" />
**注意:**1⃣️属性一定要放在标签名后面。2⃣️属性不分顺序。3⃣️采用属性="属性值"的方式书写。
#### 15、路径问题
- 相对路径
以引用文件所在位置为参考基础,而建立出的目录路径。 这里简单来说,图片相对于 HTML 页面的位置。
| 相对路径分类 | 符号 | 说明 |
| :----------: | :--: | :----------------------------------------------------------: |
| 同一级路径 | | 图片文件位于HTML文件同一级,如```<img src="baidu.gif" ```/> |
| 下一级路径 | / | 图片文件位于HTML文件同下级,如```<img src="images/baidu.gif" ```/> |
| 上一级路径 | ../ | 图片文件位于HTML文件同上级,如```<img src="../baidu.gif" ```/> |
相对路径是从代码**所在的文件**出发,去寻找目标文件的,而我们这里所说的上一级 、下一级和同一级就是图片相对于 HTML 页面的位置。
- 绝对路径
是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。
例如,“D:\web\img\logo.gif” 或 完整的网络地址“http://www.itcast.cn/images/logo.gif”。
#### 16、超链接标签(重点)
在 HTML 标签中,```<a>``` 标签用于定义超链接,作用是从一个页面链接到另一个页面
- 链接的语法格式
```html
<a href="跳转目标" target="目标窗口的弹出方式"> 文本或图像 </a>
```
两个属性的作用如下:
| 属性 | 作用 |
| :----: | :----------------------------------------------------------: |
| href | 用于指定链接目标的url地址,(必须属性)当标签应用href属性时,就具有超链接功能。 |
| target | 用于指定链接页面的打开方式,其中_self为默认值,__blank为在新窗口中打开。 |
- 链接分类
1、外部链接 如:```<a >百度一下</a>```
2、内部链接:网站内部之间相互链接,直接链接内部页面名称即可。 如:```<a href="index.html">首页</a>```
3、空链接:如果当时没有没有确定链接目标使用。 如:```<a href="#">首页</a>```
4、下载链接:如果href里面地址是一个文件或者压缩包,会下载这个文件。
5、网页元素链接:在网页中的各种网页元素。 如:文本、图像、表格、音频、视频等都可以添加超链接。
6、锚点链接:点击锚点链接可以快速定位到页面某个位置。
**锚点链接具体使用:**
1、在链接文本的href属性当中,设置属性值为#名字的形式。 如:```<a href="#two">第二集</a>```
2、找到目标位置标签,里面添加一个id属性 = 刚才的名字。如: ```<h3 id="two">猫和老鼠第二集</h3>```
#### 17、html注释
如果需要在 HTML 文档中添加一些便于阅读和理解但又不需要显示在页面中的注释文字,就需要使用注释标签。
```html
<!-- 注释语句 --> 快捷键: ctrl + /
```
一句话: 注释标签里面的内容是给程序猿看的, 这个代码是不执行不显示到页面中的。添加注释是为了更好地解释代码的功能,便于相关开发人员理解和阅读代码,程序是不会执行注释内容的。
#### 18、特殊字符
在 HTML 页面中,一些特殊的符号很难或者不方便直接使用,此时我们就可以使用下面的字符来替代。
<img src="./img/12.png" />
**重点记住:空格 、大于号、 小于号** 这三个, 其余的使用很少,如果需要回头查阅即可。
## HTML第二天重点知识引导笔记
#### 1、表格标签
- 表格的主要作用
表格主要用于显示、展示数据,因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据 的时候,能够熟练运用表格就显得很重要。一个清爽简约的表格能够把繁杂的数据表现得很有条理。
<img src="./img/13.png" />
- 表格的基本语法
```html
<table>
<tr>
<td>单元格内的文字</td>
...
</tr>
...
</table>
```
**标签含义:**
1、```<table> </table>```用于定义表格的标签。
2、```<tr> </tr>```用于定义表格中的行,必须嵌套在```<table> </table>```标签中使用。
3、```<td> </td>```用于定义表格中的单元格,必须嵌套在```<tr> </tr>```标签中使用。
4、字母td指表格数据(table data),即单元格内容。
- 表头单元格标签
一般表头单元格位于表格的第一行或第一列,表头单元格里面的文本内容加粗居中显示.
```<th>``` 标签表示 HTML 表格的表头部分(table head 的缩写)
```html
<table>
<tr>
<th>姓名</th>
...
</tr>
...
</table>
```
<img src="./img/14.png" style="zoom:40%;" />
**表头单元格也是单元格, 常用于表格第一行, 突出重要性,表头单元格里面的文字会加粗居中显示。**
- 表格属性
表格标签这部分属性我们实际开发我们不常用,后面通过 CSS 来设置。
**目的有2个:**
1、记住这些英语单词,后面 CSS 会使用.
2、直观感受表格的外观形态.
| 属性名 | 属性值 | 描述 |
| :---------: | :-----------------: | :--------------------------------------------: |
| align | left、center、right | 规定表格相对周围元素的对齐方式 |
| border | 1或"" | 规定表格单元是否有边框,默认为"",表示没有边框 |
| cellpadding | 像素值 | 规定单元格边沿与其内容之间的空白,默认1像素 |
| cellspacing | 像素值 | 规定单元格之间的空白,默认2像素 |
| width | 像素值或百分比 | 规定表格的宽度 |
| height | 像素值或百分比 | 规定表格的高度 |
- 表格结构标签
使用场景:因为表格可能很长,为了更好的表示表格的语义,可以将表格分割成 表格头部和表格主体两大部分。
在表格标签中,分别用:```<thead>```标签 表格的头部区域、```<tbody>```标签 表格的主体区域,这样可以更好的分清表 格结构。
**说明:**
1、```<thead></thead>```用于定义表格的头部。```<thead>```内部必须拥有 ```<tr>``` 标签。 一般是位于第一行。
2、```<tbody></tbody>```用于定义表格的主体,主要用于放数据本体 。
3、以上标签都是放在```<table></table>```标签中。
- 合并单元格
合并单元格方式:
1、跨行合并:rowspan="合并单元格的个数"
2、跨列合并:colspan="合并单元格的个数"
<img src="./img/15.png" />
目标单元格:(写合并代码)
1、跨行:最上侧单元格为目标单元格, 写合并代码
2、跨列:最左侧单元格为目标单元格, 写合并代码
<img src="./img/16.png" style="zoom:40%;"/>
**合并单元格总结:**
1、先确定是跨行还是跨列合并。
2、找到目标单元格. 写上合并方式 = 合并的单元格数量。比如:```<td colspan="2"></td>```。
3、 删除多余的单元格。
#### 2、列表标签
列表最大的特点就是**整齐**、**整洁**、**有序**,它作为**布局**会更加自由和方便。
根据使用情景不同,列表可以分为三大类:**无序列表**、**有序列表**和**自定义列表**。
- 无需列表(重点)
```<ul>``` 标签表示 HTML 页面中项目的无序列表,一般会以项目符号呈现列表项,而列表项使用 ```<li>``` 标签定义。
```html
<ul>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
...
</ul>
```
**总结:**
1、 无序列表的各个列表项之间没有顺序级别之分,是并列的。
2、```<ul></ul>``` 中只能嵌套``` <li></li>```,直接在 ```<ul></ul>``` 标签中输入其他标签或者文字的做法是不被 允许的。
3、```<li>``` 与 ```</li>``` 之间相当于一个容器,可以容纳所有元素。
4、无序列表会带有自己的样式属性,但在实际使用时,我们会使用 CSS 来设置。
- 有序列表(理解)
有序列表即为有排列顺序的列表,其各个列表项会按照一定的顺序排列定义。
在 HTML 标签中,```<ol>``` 标签用于定义有序列表,列表排序以数字来显示,并且使用 ```<li>``` 标签来定义列表项。
```html
<ol>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
...
</ol>
```
**总结:**
1、 ```<ol></ol>```中只能嵌套```<li></li>```,直接在```<ol></ol>```标签中输入其他标签或者文字的做法是不被 允许的。
2、```<li>``` 与 ```</li>```之间相当于一个容器,可以容纳所有元素。
3、有序列表会带有自己样式属性,但在实际使用时,我们会使用 CSS 来设置。
- 自定义列表(重点)
在 HTML 标签中,<dl> 标签用于定义描述列表(或定义列表),该标签会与 <dt>(定义项目/名字)和 <dd>(描述每一个项目/名字)一起使用。
```html
<dl>
<dt>名词1</dt>
<dd>名词1解释1</dd>
<dd>名词1解释2</dd>
</dl>
```
**总结:**
1、```<dl></dl> ```里面只能包含 ```<dt> ```和 ```<dd>```。
2、```<dt>``` 和 ```<dd>```个数没有限制,经常是一个```<dt> ```对应多个```<dd>```。
在 HTML 标签中,```<dl> ```标签用于定义描述列表(或定义列表),该标签会与 ```<dt>```(定义项目/名字)和 ```<dd>```描述每一个项目/名字)一起使用。
- 列表总结
| 标签名 | 定义 | 说明 |
| --------- | ---------- | ------------------------------------------------------------ |
| <ul></ul> | 无序列表 | 里面只能包含li,没有顺序,使用较多。li里面可以包含任何标签 |
| <ol></ol> | 有序列表 | 里面只能包含li,有顺序,使用相对较少。li里面可以包含任何标签 |
| <dl></dl> | 自定义列表 | 里面只能包含dt和dd。dt和dd里面可以包含任何标签 |
**注意:**
1、学会什么时候用无序列表, 什么时候用自定义列表。
2、无序列表和自定义列表代码分别怎么写。
3、列表布局在学习完 CSS 后再来完成。
#### 3、表单标签
- 为什么需要表单
使用表单目的是为了**收集用户信息**。在我们网页中, 我们也需要跟用户进行交互,收集用户资料,此时就需要表单。
- 表单的组成
在 HTML 中,一个完整的表单通常由**表单域**、**表单控件(也称为表单元素)**和 **提示信息**3个部分构成。
<img src="./img/17.png" />
- 表单域
表单域是一个包含表单元素的区域。在 HTML 标签中,``` <form> ```标签用于定义表单域,以实现用户信息的收集和传递, ```<form>``` 会把它范围内的表单元素信息提交给服务器。
```html
<form action="url地址" method="提交方式" name="表单域名称">
各种表单元素控件
</form>
```
**常用属性:**
| 属性 | 属性值 | 作用 |
| :----: | :------: | :----------------------------------------------: |
| action | url地址 | 用于指定接受并处理表单数据的服务器程序的url地址 |
| method | get/post | 用于设置表单数据的提交方式 |
| name | 名称 | 用于指定表单的名称,以区分同一个页面的多个表单域 |
**这里只需要记住两点:**
1、 在我们写表单元素之前,应该有个表单域把他们进行包含.
2、 表单域是 form标签.
#### 4、```<input>``` 表单元素 (重点)
在英文单词中,input 是输入的意思,而在表单元素中 <input> 标签用于收集用户信息。
在 ```<input>``` 标签中,包含一个 type 属性,根据不同的 type 属性值,输入字段拥有很多种形式(可以是文本 字段、复选框、掩码后的文本控件、单选按钮、按钮等)。
```html
<input type="属性值" />
```
**type 属性的属性值及其描述如下:**
<img src="./img/18.png" />
**除 type 属性外,```<input>```标签还有其他很多属性,其常用属性如下:**
<img src="./img/19.png" />
**属性说明:**
1. name 和value 是每个表单元素都有的属性值,主要给后台人员使用.
2. name 表单元素的名字, 要求 单选按钮和复选框要有相同的name值.
3. checked属性主要针对于单选按钮和复选框, 主要作用一打开页面,就要可以默认选中某个表单元素.
4. maxlength 是用户可以在表单元素输入的最大字符数, 一般较少使用.
**<input>总结:**
1、```<input />``` 标签为单标签
2、type 属性设置不同的属性值用来指定不同的控件类型
##### 4.1、文本输入表单
- 用户用于输入文本信息
```html
<input type="text" />
```
注意:设置value值可以是输入框的默认提示内容
##### 4.2、密码框
- 能够隐藏明文密码,相对安全
```html
<input type="password" />
```
注意:设置value值可以是输入框的默认密码
##### 4.3、单选按钮组
- 用户用于单选某一项
```html
<input type="radio" name="sex" />男
<input type="radio" name="sex" checked="checked"/>女
```
注意:1、想要设置单选,必须要让按钮组内的name值保持一致
2、checked设置默认选中项
##### 4.4、复选按钮组
- 用户用于多项选择
```html
<input type="checkbox" name="hobby" value="basketball" checked="checked"/>篮球
<input type="checkbox" name="hobby" value="football"/>足球
<input type="checkbox" name="hobby" value="volleyball"/>排球
```
注意:1、按钮组内的name值保持一致。
2、value值不同(理解)
3、checked设置默认选中项
#### 5、```<label>``` 标签
```<label>``` 标签为 input 元素定义标注(标签)。```<label>``` 标签用于绑定一个表单元素, 当点击```<label> ```标签内的文本时,浏览器就会自动将焦点(光标)转到或者选择对应的表单元素上,用来增加用户体验。
```html
<label for="sex">男</label>
<input type="radio" name="sex" id="sex" />
```
**说明:** ```<label>``` 标签的 for 属性应当与相关元素的 id 属性相同。
####6、```<select>``` 表单元素
**使用场景:**在页面中,如果有多个选项让用户选择,并且想要节约页面空间时,我们可以使用```<select>```标签控件定义下 拉列表。
```html
<select>
<option>选项1</option>
<option>选项2</option>
<option>选项3</option>
...
</select>
```
**说明:**1、```<select>```中至少包含一对```<option>```
2、在```<option>```中定义selected="selected"时,当前项即为默认选中项
####7、```<textarea>``` 表单元素
**使用场景:**当用户输入内容较多的情况下,我们就不能使用文本框表单了,此时我们可以使用 ```<textarea>``` 标签。 在表单元素中,```<textarea>``` 标签是用于定义多行文本输入的控件。 使用多行文本输入控件,可以输入更多的文字,该控件常见于留言板,评论等。
```html
<textarea rows="3" cols="20">
文本内容
</textarea>
```
**说明:**1、通过```<textarea>```标签可以轻松的创建多行文本输入框
2、cols="每行中的字符数",rows="显示的行数"。在实际开发中不会使用,都会使用css来控制大小。
|
|