1、HTML基础
1.1、什么是网页?
网页是一个包含HTML标签的纯文本文件,它可以存放在世界某个角落的某一台计算机中,是万维网中的一页,是超文本标记语言格式。它通常是由图片、文字、链接、声音、视频等元素组成。通过网页浏览器访问。
1.2、什么是HTML?
HTML 指的是超文本标记语言(Hyper Text Markup Language),它是用来描述网页的一种语言。
1.3、常用的浏览器有哪些?
常用的五大浏览器有:IE浏览器、火狐浏览器(Firefox)、g谷歌浏览器(Chrome)、Safari浏览器、欧朋浏览器(Opera)
| 浏览器 | 内核 | 备注 | 
|---|---|---|
| IE | Trident | IE、猎豹安全浏览器、360急速浏览器、百度浏览器 | 
| Firefox | Gecko | 火狐浏览器内核 | 
| Safari | Webkit | 苹果浏览器内核 | 
| Chrome/Opera | Blink | Blink其实是Webkit的分支 | 
1.4、什么是web标准?
web 标准也成为网页标准,它是由一系列标准组成,这些标准大部分由W3C负责定制,也有一些标准由其他标准组织制定。
1.5、web标准的构成
| 标准 | 作用 | 
|---|---|
| 结构 | 结构用于对网页元素进行整理和分类,主要指的是HTML | 
| 表现 | 表现用于设置网页元素的版式、颜色、大小等外观样式,主要指的是CSS | 
| 行为 | 行为是指网页模型的定义及交互的编写,主要指的是Javascript | 
1.6、web标准的好处有哪些?
- 提高兼容性:对于浏览器开发商和web程序开发人员在开发新的应用程序时遵守指定的标准更利于web的发展。
 - 提高开发效率:开发人员按照web标准制作网页,这样对于开发者来说就更简单了,可以很容易了解彼此的代码。
 - 跨平台:使用web标签,将确保所有浏览器正常的显示网页,无需费时重写。
 - 加快网页解析速度:遵守web标准可以使网页更利于搜索引擎搜索。
 - 易于维护:页面的样式和布局信息保存在单独的CSS文件中,想改变页面外观时,仅需要修改CSS文件即可。
 
2、HTML基本标签
2.1、HTML页面固定结构
<html>
    <head>
        <title>网页的标题</title>
    </head>
    <body>
        网页的主题内容
    </body>
</html>
- html标签:网页的整体
 - head标签:网页的头部
 - body标签:网页的身体
 - title标签:网页的标题
 
2.2、HTML标签分类
2.2.1 按闭合特征分类
- 
闭合标签:由开始标签和结束标签共同组成,成对出现;常见的闭合标签有
<div></div><p></p>、<span></span>等。标签之间的关系可以存在并列及嵌套关系。 - 
单标签:指没有内容的标签,在开始标签中自带闭合标识符。常见的单标签有
<img/>、<hr/>、<link/>、<meta/>、<input/>、<br/>等。 
2.2.2 按显示模式分类
- 块级元素:块级元素是指本身属性为display: block的元素。
 - 行内元素:行内元素是指本身属性为display: inline的元素,其宽度随着元素的内容变化而变化,也叫内联元素。
 - 行内块元素:行内块级元素是指本身属性为display: inline-block的元素
 
块级元素特点:
- 每一个块级元素独占一行,从上到下排布。
 - 块级元素可以直接控制宽高。
 - 不设置宽度的情况下,块级元素的宽度是其父元素内容的宽度。
 - 不设置高度的情况下,块级元素的高度是他本身内容的高度。
 
常见的块级元素:
| 标签 | 描述 | 
|---|---|
| div | 常见的块级容器,也是css和layout的主要标签 | 
| h1~h6 | 一二三四五六级标题 | 
| hr | 水平分割线 | 
| menu | 菜单列表 | 
| ol、ul、li | 有序列表、无序列表、列表项 | 
| dl、dt、dd | 自定义列表、定义分类、类项描述 | 
| table | 表格 | 
| address | 定义地址 | 
| p | 段落 | 
| form | 交互表单 | 
行内元素特点:
- 行内元素会和其他元素从左到右的显示在一行。
 - 行内元素不能直接设置宽高,只可以设置内外边距的水平方向的值。也就是说,对行内元素设置margin和padding,只有margin-left/margin-right和padding-left/padding-right是有效的。垂直方向的margin和padding是无效的。
 - 行内元素只能容纳文本或者其他行内元素,不允许在行内元素中嵌套块级元素
 - 行内元素的宽高是由内容本身大小决定的。
 
常见行内元素:
| 标签 | 描述 | 
|---|---|
| a | 锚点,链接标签 | 
| span | 常用的行内标签容器,定义文本内区块 | 
| sup | 上标文本 | 
| sub | 下标文本 | 
| strong | 加粗 | 
| ins | 下划线 | 
| em | 倾斜 | 
| del | 删除 | 
| label | input元素的标注 | 
行内块级元素特点:
- 和其他行内或行内块级元素放置在同一行上
 - 元素的宽高和内外边距都可以设置
 
常见行内块级元素:
| 标签 | 描述 | 
|---|---|
| button | 按钮 | 
| input | 输入框 | 
| textarea | 多行文本输入框 | 
| img | 图片 | 
| select | 下拉列表 | 
3、路径的介绍
- 绝对路径:指目录下的绝对位置,可以直接到达目标位置,通常从盘符开始的路径。例如:D:\BaiduNetdisk\BaiduNetdisk.exe
 - 相对路径:从当前文件开始出发找目标文件的路径。
 
3.1、 相对路径的三种情况
- 同级目录:直接写目标文件的名字,vscode在前面加./快速查找
 - 下级目录:直接写文件夹名/目标文件名字!,vscode在前面加在前面加./快速查找
 - 上级目录:…/目标文件的名字
 
4、HTML媒体和链接
4.1、 img图片标签
| 属性 | 说明 | 
|---|---|
| src | 指定需要展示的图片路径 | 
| alt | 替换文本,当图片加载失败时,才显示的文字 | 
| title | 提示文本,当鼠标悬停时,才显示的文字 | 
| width | 图片的宽度 | 
| height | 图片的高度 | 
4.2 audio音频标签
| 属性 | 说明 | 
|---|---|
| src | 指定需要播放的音频路径 | 
| controls | 显示播放的控件 | 
| autoplay | 自动播放(部分浏览器不支持) | 
| loop | 循环播放 | 
4.3 video视频标签
| 属性 | 说明 | 
|---|---|
| src | 指定需要播放的视频路径 | 
| controls | 显示播放的控件 | 
| autoplay | 自动播放(谷歌浏览器中需要配合muted实现静音播放) | 
| loop | 循环播放 | 
4.4 a链接标签介绍
| 属性 | 说明 | 
|---|---|
| href | 目标网页的路径 | 
| target | 跳转目标网页的打开形式。_self:默认值,在当前窗口跳转;_blank:在新窗口中跳转 | 
5、列表标签
5.1、 无序列表
| 标签名 | 说明 | 
|---|---|
| ul | 表示无序列表的整体,用于包裹li标签 | 
| li | 表示无序列表的每一项,用于包含每一行的内容 | 
代码示例
<ul>
    <li>香蕉</li>
    <li>苹果</li>
    <li>凤梨</li>
    <li>葡萄</li>
    <li>桃子</li>
</ul>
效果
- 香蕉
 - 苹果
 - 凤梨
 - 葡萄
 - 桃子
 
5.2、 有序列表
| 标签名 | 说明 | 
|---|---|
| ol | 表示有序列表的整体,用于包裹li标签 | 
| li | 表示有序列表的每一项,用于包含每一行的内容 | 
代码示例
<ol>
    <li>斗破苍穹</li>
    <li>斗罗大陆</li>
    <li>遮天</li>
    <li>盘龙</li>
    <li>仙逆</li>
</ol>
效果
- 斗破苍穹
 - 斗罗大陆
 - 遮天
 - 盘龙
 - 仙逆
 
5.3、 自定义列表
| 标签名 | 说明 | 
|---|---|
| dl | 表示自定义列表的整体,用于包裹dt/dd标签 | 
| dt | 表示自定义列表的主题 | 
| dd | 表示自定义列表的针对主题的每一项内容 | 
代码示例
<dl>
    <dt>购物指南</dt>
    <dd>购物流程</dd>
    <dd>会员介绍</dd>
    <dd>生活旅行</dd>
    <dd>常见问题</dd>
</dl>
效果
- 
购物指南
 - 购物流程
 - 会员介绍
 - 生活旅行
 - 常见问题
 
6、table表格
6.1、 表格的标签
| 标签名 | 说明 | 
|---|---|
| table | 表格整体,可用于包裹caption、thead、tbody、tfoot或直接包裹多个tr | 
| caption | 表格整体大标题,默认在表格整体顶部居中位置显示 | 
| thead | 表格头部,用于包裹th | 
| tbody | 表格主体,用于包裹td | 
| tfoot | 表格底部,用于包裹td | 
| tr | 表格每行,可用于包裹th,td | 
| th | 表格小标题,通常用于表格第一行,默认内部文字加粗并且居中显示 | 
| td | 表格单元格,可用于包裹内容 | 
代码示例
<table>
    <caption>成绩单</caption>
    <thead>
        <tr>
        <th>姓名</th>
        <th>语文</th>
        <th>数学</th>
        <th>英语</th>
        </tr>
    </thead>
    <tbody>
        <tr>
        <td>诸葛亮</td>
        <td>100分</td>
        <td>98分</td>
        <td>99分</td>
        </tr>
        <tr>
        <td>司马懿</td>
        <td>97分</td>
        <td>98分</td>
        <td>99分</td>
        </tr>
        <tr>
        <td>周瑜</td>
        <td>97分</td>
        <td>96分</td>
        <td>98分</td>
        </tr>
        <tr>
        <td>贾诩</td>
        <td>97分</td>
        <td>98分</td>
        <td>99分</td>
        </tr>
        <tr>
        <td>郭嘉</td>
        <td>99分</td>
        <td>99分</td>
        <td>99分</td>
        </tr>
    </tbody>
    <tfoot>
        <td>平均分</td>
        <td>98分</td>
        <td>98.2分</td>
        <td>98.8分</td>
    </tfoot>
</table>
效果
| 姓名 | 语文 | 数学 | 英语 | 
|---|---|---|---|
| 诸葛亮 | 100分 | 98分 | 99分 | 
| 司马懿 | 97分 | 98分 | 99分 | 
| 周瑜 | 97分 | 96分 | 98分 | 
| 贾诩 | 97分 | 98分 | 99分 | 
| 郭嘉 | 99分 | 99分 | 99分 | 
| 平均分 | 98分 | 98.2分 | 98.8分 | 
6.2、 表格相关属性
| 属性名 | 属性值 | 效果 | 
|---|---|---|
| border | 数字 | 边框宽度 | 
| width | 数字 | 表格宽度 | 
| height | 数字 | 表格高度 | 
| align | left、right、center | 表格水平位置,也可以用于tr和td中,表示的是单元格内容的水平位置 | 
| bordercolor | rbg、rbga、十六进制 | 边框的颜色 | 
| cellpadding | 单元格的内容和边框之间的距离 | |
| cellspacing | 两个单元格之间距离的大小 | |
| bgcolor | 表格的背景色,也可以用于tr和td | |
| background | 表格的背景图片,也可以单独的用于某一个单元格 | 
6.3、 表格合并单元格
| 属性名 | 属性值 | 说明 | 
|---|---|---|
| rowspan | 合并单元格的个数 | 跨行合并,将多行的单元格垂直合并 | 
| colspan | 合并单元格的个数 | 跨列合并,将多列的单元格水平合并 | 
代码示例
<table>
    <caption>成绩单</caption>
    <thead>
        <tr>
        <th>姓名</th>
        <th>语文</th>
        <th>数学</th>
        <th>英语</th>
        </tr>
    </thead>
    <tbody>
        <tr>
        <td>诸葛亮</td>
        <td>100分</td>
        <td rowspan="2">98分</td>
        <td rowspan="2">99分</td>
        </tr>
        <tr>
        <td>司马懿</td>
        <td rowspan="3">97分</td>
        </tr>
        <tr>
        <td>周瑜</td>
        <td>96分</td>
        <td>98分</td>
        </tr>
        <tr>
        <td>贾诩</td>
        <td>98分</td>
        <td>99分</td>
        </tr>
        <tr>
        <td>郭嘉</td>
        <td align="center" colspan="3">99分</td>
        </tr>
    </tbody>
    <tfoot>
        <td>平均分</td>
        <td>98分</td>
        <td>98.2分</td>
        <td>98.8分</td>
    </tfoot>
</table>
效果
| 姓名 | 语文 | 数学 | 英语 | 
|---|---|---|---|
| 诸葛亮 | 100分 | 98分 | 99分 | 
| 司马懿 | 97分 | ||
| 周瑜 | 96分 | 98分 | |
| 贾诩 | 98分 | 99分 | |
| 郭嘉 | 99分 | ||
| 平均分 | 98分 | 98.2分 | 98.8分 | 
7、form表单
7.1、 input系列标签的基本介绍
| 标签名 | type属性值 | 说明 | 
|---|---|---|
| input | text | 文本框,用于输入单行文本 | 
| input | password | 密码框,用于输入密码 | 
| input | radio | 单选框,用于多选一 | 
| input | checkbox | 多选框,用于多选多 | 
| input | file | 文件选择,用于之后上传文件 | 
| input | submit | 提交按钮,用于提交表单 | 
| input | reset | 重置按钮,用于重置表单 | 
| input | button | 普通按钮,默认无功能,之后配合js添加功能 | 
7.2、 button系列标签的基本介绍
| 标签名 | type属性值 | 说明 | 
|---|---|---|
| button | submit | 提交按钮。点击之后提交数据给后台服务器 | 
| button | reset | 重置按钮。点击之后恢复表单默认值 | 
| button | button | 普通按钮。默认无功能 | 
7.3、 select下拉菜单标签
标签组成:
- select标签:下拉菜单的整体
 - option标签:下拉菜单的每一项
常见属性: - selected:下拉菜单的默认选中
 
代码示例
<select>
    <option>长海</option>
    <option selected>重庆</option>
    <option>西安</option>
</select>
效果
长海 重庆 西安
7.4、 textarea文本域标签
常见属性:
- cols:规定了文本域内可见宽度
 - rows:规定了文本域内可见行数
 
7.5、 label标签
使用场景:常用于绑定内容与表单标签的关系
使用方法一
- 使用label标签把内容包裹起来
 - 在表单标签上添加id属性
 - 在label标签的for属性中设置对应的id属性值
 
使用方法二
- 直接使用label标签把内容和表单标签一起包裹起来
 - 需要把label标签的for属性删除即可
 
8、常见字符实体
| 显示结果 | 描述 | 实体名称 | 
|---|---|---|
' ' | 
空格 |   | 
| < | 小于号 | < | 
| > | 大于号 | > | 
| & | 和号 | & | 
| " | 引号 | " | 
| ’ | 撇号 | ' | 
| ¢ | 分(cent) | ¢ | 
| £ | 榜(pound) | £ | 
| ¥ | 元(yen) | ¥ | 
| € | 欧元(euro) | € | 
| § | 小节 | § | 
| © | 版权(copyright) | © | 
9、有语义的布局标签
| 标签名 | 语义 | 
|---|---|
| header | 网页头部 | 
| nav | 网页导航 | 
| footer | 网页底部 | 
| aside | 网页侧边栏 | 
| section | 网页区块 | 
| article | 网页文章 |