@TOC
第一章 HTML概述
1.1、什么是HTML
HTML(超文本标记语言)是用来描述网页的一种标记语言,不同于使用脚本来执行函数的脚本或编程语言,标记语言使用标记来标识内容。
1.2、HTML文件
HTML文件是文本文件,所以你可以使用任何文本编辑器来创建你的第一个网页,有一些非常好的HTML编辑器可用,你可以选择适合你的HTML编辑器,如vscode,webstorm等
附vscode插件推荐:
第二章 HTML语法
2.1、基本结构
标签名 | 定义 | 说明 |
---|---|---|
< html>< /html> | HTML标签 | 页面中的最大的标签,我们称为根标签 |
< head>< head> | 文档的头部 | 注意在head标签中我们必须要设置的标签是title |
< title>< /title> | 文档的标题 | 让页面拥有一个属于自己的网页标题 |
< body>< /body> | 文档的主体 | 元素包含文档的所有内容,页面内容基本都是放到body里面的 |
<!--文档类型声明,作用就是告诉浏览器使用哪种HTML版本来显示网页-->
<!DOCTYPE html>
<!--lang:语言种类,用来定义当前文档显示的语言。
1.en定义语言为英语 2.zh-CN定义语言为中文
简单来说,定义en就是英文网页,定义为zh-CN就是中文网页
-->
<html lang="en">
<head>
<!--
1、字符集(Character set)是多个字符的集合,以便计算机能够识别和存储各种文字。
2、在<head>标签内,可以通过<meta>标签的charset属性来规定HTML文档应该使用哪种字符编码。3、charset常有的值有:GB2312、BIG5、GBK和UTF-8,其中UTF-8也被称为万国码,基本包含了全世界所有国家需要用到的字符。
注意:下面语法是必须要写的代码,否则可能引起乱码的情况。一般情况下,统一使用"UTF-8"编码,尽量统一写成标准的"UTF-8",不要写成"utf8"或"UTF8"。 -->
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
</html>
2.2、语法规范
- HTML中不区分大小写,但是我们一般都使用小写
- HTML中的注释不能嵌套
- HTML标签必须结构完整,要么成对出现,要么自结束标签
- HTML标签可以嵌套,但是不能交叉嵌套
- HTML标签中的属性必须有值,且值必须加引号(双引号单引号都可以)
第三章 HTML标签
3.1、标题标签
HTML包括六个级别的标题,它们根据重要性排序:<h1><h2><h3><h4><h5><h6>
<h1>这是标题1</h1>
<h2>这是标题2</h2>
<h3>这是标题3</h3>
<h4>这是标题4</h4>
<h5>这是标题5</h5>
<h6>这是标题6</h6>

3.2、段落标签
p标签用于定义段落,它可以将整个网页分为若干个段落 。
特点:
- 文本在一个段落中会根据浏览器窗口的大小自动换行。
- 段落和段落之间保有空隙。
<p>这是一个段落</p>
3.3、换行标签
在HTML中,一个段落中的文字会从左到右依次排列,直到浏览器窗口的右端,然后才自动换行,如果希望某段文本强制换行显示,就需要使用换行标签< br/>。
特点:
- < br/>是个单标签。
- < br/>标签只是简单的开始新的一行,跟段落不一样,段落之间会插入一些垂直的间距。
<br/>
3.4、格式化文本
在网页中,有时需要为文字设置粗体、斜体、下划线、删除线等效果,这时就需要用到HTML中文本格式化标签,使文字以特殊的方式显示。
标签语义:突出重要性,比普通文字更重要。
<p>这是<strong>加粗</strong>文本</p>
<p>这也是<b>加粗</b>文本</p>
<p>这是<em>倾斜</em>文本</p>
<p>这也是<i>倾斜</i>文本</p>
<p>这是<del>删除线</del>文本</p>
<p>这也是<s>删除线</s>文本</p>
<p>这是<ins>下划线</ins>文本</p>
<p>这也是<u>下划线</u>文本</p>


3.5、div和span标签
div和span标签是没有语义的,它们就是一个盒子,用来装内容的。(div是division的缩写,表示分割、分区;span意为跨度、跨距)
<!--div标签用来布局,但是现在一行只能放一个div。大盒子-->
<div>这是头部</div>
<!--span标签用来布局,一行上可以多个span。小盒子-->
<span>今日价格</span>
3.6、图像标签
在HTML标签中,img标签用于定义HTML页面中的图像,它只包含属性,并且没有结束标记。 可以使用src属性定义图像的URL(地址)。
图像标签属性注意点:
- 图像标签可以拥有多个属性,必须写在标签名的后面。
- 属性之间不分先后顺序,标签名与属性、属性与属性之间均以空格分开。
- 属性采取键值对的格式,即key="value"的格式,属性=“属性值”。
<!--src是img标签的必须属性,它用于指定图像文件的路径和文件名。
alt是替换文本,图像不能显示时的文字
title是提示文本,鼠标放在图像上,显示的文字-->
<img src="图像URL" alt="一张图片" />
1.相对路径
相对路径:以引用文件所在位置为参考基础,而建立出的目录路径,简单来说,图片相对于HTML页面的位置
2.绝对路径
绝对路径:是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。
3.7 链接标签
1. 链接的语法格式
在HTML标签中,< a>标签用于定义超链接,作用是从一个页面链接到另一个页面。
超链接的语法格式如下:
<!--
href 用于指定链接的url地址,(必须属性)当标签应用href属性时,他就具有了超链接的功能
target 用于指定链接页面的打开方式,其中_self为默认值,_blank为在新窗口中打开方式
-->
<a href="跳转目标" target="目标窗口的弹出方式">文本或图像</a>
2. 链接分类
(1)外部链接:例如:
<a href="http://www.baidu.com">百度</a>
(2)内部链接:网站内部页面之间的相互链接,直接链接内部页面名称即可。例如:
<a href="index.html">首页</a>
(3)空链接:没有确定链接目标。例如:
<a href = "#"> 首页 </a>
(4)下载链接:如果href里面地址链接的是 文件 .exe 或 zip 等压缩包的形式,会下载这个文件。
<a href="压缩包名称">下载文件</a>
(5)网页元素链接: 在网页中的各种页面元素,如文本、图像、表格、音频、视频等都可以添加超链接。
<a href = "http://www.baidu.com"><img stc="图像名称"/></a>
(6)锚链接 :点击链接可以快速定位到页面中的某个位置。
<!--在链接文本的href属性中,设置属性值为#名字的形式-->
<a href="#two">第2集</a>
<!--找到目标位置的标签,里面添加一个id属性 = 刚才的名字-->
<h3 id = "two">第2集介绍</h3>
3.8、注释标签和特殊字符
1.注释标签
注释标签:HTML中的注释以"< !–“开头,以”–>"结束。快捷键:ctrl+ /
<!--注释语句-->
2.特殊字符
在HTML页面中,一些特殊的符号很难或者不方便直接使用,此时我们就可以用下面的字符来替代。
3.9 、表格标签
1.表格的主要作用
表格主要用于显示、展示数据,因为它可以让数据显示的非常规整,可读性非常好.
- table 用来定义表格的标签
- tr 用来定义表格中的行,必须嵌套在< table>< /table> 标签中
- td 用来定义表格中的单元格,必须嵌套在< tr>< /tr> 标签中
- th 用来定义表格中的表头,表头单元格里面的内容加粗居中显示
<table>
<tr>
<th>表头</th>
<td>单元格内的文字</td>
...
</tr>
...
</table>
2.表格属性
表格属性(了解): 这些标签要写到表格标签table里面去
3.表格结构标签
为了更好表达表格语义,可以将表格分割为表格头部和表格主体两大部分。
- < thead>标签表示 表格的头部区域,< thead>内部必须有< tr>标签,一般是位于第一行。
- < tbody>标签表示 表格的主体区域。
- 以上标签要放到< table></ table>标签里面去
<table>
<thead>
<tr>...</tr>
</thead>
<tbody>
<tr>
<td>...</td>
</tr>
</tbody>
</table>
4.合并单元格
合并单元格方式:
- 跨行合并:rowspan=“合并单元格的个数”
- 跨列合并:colspan=“合并单元格的个数”
目标单元格:(写合并代码)
- 跨行:最上侧单元格为目标单元格,写合并代码
- 跨列:最左侧单元格为目标单元格,写合并代码
例:实现以下单元格
<table border="1">
<tr>
<th colspan="3">物资详情说明</th>
</tr>
<tr>
<td colspan="2" align="center">数量(支)</td>
<td rowspan="2">重量(吨)</td>
</tr>
<tr>
<td>实发数</td>
<td>实收数</td>
</tr>
<tr>
<td>12</td>
<td>10</td>
<td>100.00</td>
</tr>
</table>
3.10、列表标签
列表是用来布局的。
根据使用情景不同,列表可以分为三大类:无序列表、有序列表和自定义列表。
1.无序列表
< ul>标签表示HTML项目中的无序列表,< li>标签是列表项。
3. 无序列表的各个列表项之间没有顺序级别之分,是并列的。
4. < ul>中只能嵌套< li>,直接在< ul>标签中插入其他标签或文字的做法是不被允许的。
5. < li>与< /li>之间相当于一个容器,可以容纳所有元素。
6. 无序列表会带有自己的样式属性,但在实际使用时,我们会使用CSS来设置。
<ul>
<li>列表项1</li>
<li>列表项2</li>
...
</ul>
2.有序列表
< ol>标签用来定义有序列表;列表排序以数字来显示,并且使用< li>标签来定义列表项。
- < ol>中只能嵌套< li>,直接在< ol>标签中插入其他标签或文字的做法是不被允许的。
- < li>与< /li>之间相当于一个容器,可以容纳所有元素。
- 有序列表会带有自己的样式属性,但在实际使用时,我们会使用CSS来设置。
<ol>
<li>列表项1</li>
<li>列表项2</li>
...
</ol>
3.自定义列表
自定义列表常用于对术语或名词进行解释和描述,定义列表的列表项前没有任何项目符号。在HTML标签中,< dl> 定义描述列表;< dt> 定义项目/名字;< dd> 描述每一个项目/名字
- < dl> </ dl> 里面只能包含< dt>和< dd>。
- < dt>和< dd>个数没有限制,经常是一个< dt>对应多个< dd>。
<dl>
<dt>名词1</dt>
<dd>名词1解释1</dd>
<dd>名词1解释2</dd>
</dl>
3.11、表单标签
使用表单收集用户信息,一个完整地表单由表单域、表单控件(也称为表单元素)和提示信息3个部分构成。
1.表单域
表单域是一个 包含表单元素的区域。
在HTML标签中,用< form>标签定义表单域,已实现用户信息的收集和传递。
<!--表单属性(了解)
action url地址 用于指定接收并处理表单数据的服务器程序的url地址
method get/post 用于设置表单数据的提交方式,其取值为get或post
name 名称 用于指定表单的名称,以区分同一个页面中的多个表单链
-->
<form action="url地址" method="提交方式" name="表单域名称">
各种表单元素控件
</form>
2.表单控件(表单元素)
(1)< input>表单元素
< input>标签用于收集用户信息 ,包含一个type属性值 ,根据不同的type 属性可以用来指定不同的控件类型(文本字段、复选框、单选按钮、按钮等)
- < input>标签为单标签
- type属性设置不同的属性值用来指定不同的控件类型
<input type="属性值"/>


<form action="xxx.php" method="get">
<!--text 文本框 用户可以在里面输入任何文字-->
用户名:<input type="text" name="username" value="请输入用户名" maxlength="6"> <br>
<!--password 密码框 用户看不见输入的密码-->
密码:<input type="password" name="pwd"> <br>
<!--radio 单选按钮 可以实现多选-->
<!--name是表单元素名字 这里性别单选按钮必须有相同的name才可以实现多选一-->
<!--单选按钮和复选框可以设置checked属性,当页面打开的时候就可以默认选中这个按钮-->
性别:男 <input type="radio" name="sex" value="男" checked="checked"> 女 <input type="radio" name="sex" value="女"> <br>
<!--checkbox 复选框 可以实现多选-->
爱好:吃饭 <input type="checkbox" name="hobbby"> 睡觉 <input type="checkbox" name="hobby"> 打豆豆 <input type="checkbox" name="hobby">
<br>
<!--点击了提交按钮,可以把 表单域form 里面的表单元素 里面的值提交给后台服务器 -->
<input type="submit" value="免费注册" >
<!--重置按钮可以还原表单元素初始的默认状态-->
<input type="reset" value="重新填写">
<!--普通按钮button,后期搭配JS使用-->
<input type="button" value="获取短信验证码"> <br>
<!--文件域 使用场景 上传文件使用-->
上传头像:<input type="file" >
</form>
(2) lable标签
< lable>标签为input元素定义标注(标签)
<label for="sex">男</label>
<input type="radio" name="sex" id="sex"/>
- lable标签的for属性应当与相关元素的id属性相同。
- < lable>标签用于绑定一个表单元素,当点击< label>标签内的文本时,浏览器就会自动将焦点(光标)转到或者选择对应的表单元素上,用来增加用户体验。
(3) select下拉表单
在页面中,如果有多个选项让用户选择,并且需要节约页面空间时,我们可以使用< select>标签控件定义下拉列表.
<!--在<option>中定义 selected="selected" 时,当前项即为默认选中项。-->
<form>
<select>
<option selected="selected">默认选中项</option>
<option>选项1</option>
<option>选项2</option>
...
</select>
</form>
(4)textarea文本域元素
在表单元素中,< textarea>标签是用于定义 多行文本输入的控件
<!--cols = “每行中的字符数” , rows = “显示的函数”-->
<form>
<textarea rows="3" cols"20">
文本内容
</textarea>
</form>
案例
实现效果如下:
代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>day3(案例)</title>
</head>
<body>
<h3>青春不常在,抓紧谈恋爱</h3>
<table>
<tr>
<td>性别:</td>
<td>
<input type="radio" name="sex" value="男" id="nan"/><label for="nan">男</label>
<input type="radio" name="sex" value="女" id="nv"/><label for="nv">女</label>
</td>
</tr>
<tr>
<td>生日:</td>
<td>
<select>
<option selected="selected">--请选择年--</option>
<option>2021</option>
<option>2020</option>
<option>2019</option>
</select>
<select>
<option selected="selected">--请选择月--</option>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<select>
<option selected="selected">--请选择日--</option>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
</td>
</tr>
<tr>
<td>所在地区:</td>
<td><input type="text" value="请填入地区"/></td>
</tr>
<tr>
<td>婚姻状况:</td>
<td>
<input type="radio" name="marry" value="未婚" checked="checked" id="wei"/><label for="wei">未婚</label>
<input type="radio" name="marry" value="已婚" id="yi"/><label for="yi">已婚</label>
<input type="radio" name="marry" value="离婚" id="li"/><label for="li">离婚</label>
</td>
</tr>
<tr>
<td>学历:</td>
<td><input type="text" value="请填入学历"/></td>
</tr>
<tr>
<td>喜欢的类型:</td>
<td>
<input type="checkbox" name="interest" value="可爱的" id="cute"/><label for="cute">可爱的</label>
<input type="checkbox" name="interest" value="妩媚的" id="sexy"/><label for="sexy">妩媚的</label>
<input type="checkbox" name="interest" value="小鲜肉" id="young"/><label for="young">小鲜肉</label>
<input type="checkbox" name="interest" value="都喜欢" id="all"/><label for="all">都喜欢</label>
</td>
</tr>
<tr>
<td>自我介绍:</td>
<td><textarea cols="20" rows="3">请输入自我介绍</textarea></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="免费注册"/></td>
</tr>
<tr>
<td></td>
<td><input type="checkbox" name="checked"checked="checked"/>我同意注册条款和会员加入标准</td>
</tr>
<tr>
<td></td>
<td><a href="#">我是会员,立即登录</a> </td>
</tr>
<tr>
<td></td>
<td>
<h3>我承诺</h3>
<ul>
<li>年满18岁,单身</li>
<li>抱着严肃的态度</li>
<li>真诚寻找另一半</li>
</ul>
</td>
</tr>
</table>
</body>
</html>
补充:
如果想添加背景图片,可以在body标签或table内加入 background=“图片路径”