本学习笔记是个人对 Pink 老师课程的总结归纳,转载请注明出处!
b站视频链接:https://www.bilibili.com/video/BV14J4114768.
笔记参考大佬:https://jerry-z-j-r.github.io/ (注:有时访问不了)
网站:互联网上根据一定的规则,使用 HTML 等制作的用于展示特定内容相关的网页集合。
网页:网站中的一“页”,是构成网站的基本元素,通常是 HTML 格式的文件(.htm 或 .html)它必须通过浏览器来阅读。
超文本:超越了普通文本的限制(图片 + 声音 + 动画 + 多媒体 + ……),同时可以从一个文件跳转到另一个文件,与世界各地主机里的文件链接(超级连接文本)。
HTML:超文本标记语言(HTML 不是一种编程语言,而是一种标记语言,标记语言是一套标记标签构成的)。
前端代码开发 ——> 浏览器解析、渲染代码 ——> 呈现 Web 页面。
PC 端五大浏览器 :IE
、Chrome
、Firefox
、Safari
、Opera
、(目前还有 Edge
)。
四大浏览器内核:IE(Trident
)、Firefox(Gecko
)、Safari(Webkit
)、Chrome / Opera / Edge(Blink
属于 Webkit 的分支)
注:目前国内浏览器一般都采用 Webkit / Blink 内核。
W3C: 万维网联盟
,国际最著名的标准化组织之一。
Web 标准:W3C 组织和其他标准化组织为 Web 开发制定的一系列标准的集合。
浏览器不同,解析渲染显示页面的效果就有些许差异,通过 Web 标准可以统一最终显示效果,大大减少开发者的工作量(一套代码,多平台运行)。
遵循 Web 标准除了可以让不同的开发人员写出的页面更标准、更统一外,还有以下优点:
让 Web 的开发前景更广阔
网页能被更广泛的设备访问
更容易被搜索引擎搜索(排名靠前)
降低网站的流量费用
使网站更易于维护
提高页面的浏览速度
主要包括三个方面: 结构
、表现
、行为
。
HTML
CSS
JavaScript
Web 标准提出的最佳体验方案: 结构
、样式
、行为
相互分离。
特别提醒:在本文的 HTML 标签知识点中会遇到许多标签的样式属性,此处只需要了解即可,因为实际开发中都是使用 CSS 来对其进行样式的设置!
HTML 标签是由尖括号包围的关键字词,例如:。
HTML 标签通常是成对出现的,例如: 和
,我们称为双标签。标签对中的第一个标签是开始标签,第二个标签是结束标签。
有些特殊的标签必须是单个标签(极少情况),例如:
,我们称为单标签。注意:/
之前有一个空格(Coding Style 编码风格)。每个标签都应该有结束符,即:/
。所以单标签的最后要加 /
以表示结束,当然即便不加 /
也是可以正常使用的,但还是推荐加上为好。
<head>
<title>title>
head>
<head>
head>
<body>
body>
每个网页都会有一个基本的结构标签(骨架标签:4组),页面内容也是在这些基本标签上书写的。
HTML 页面也称为 HTML 文档。
【HTML 基础结构】
<html>
<head>
<title>title>
head>
<body>
body>
html>
标签名 | 定义 | 说明 |
---|---|---|
|
HTML 标签 | 页面中最大的标签,我们称之为:根标签 |
|
文档的头部 | 注意:在 head 标签中我们必须要设置的标签是 title |
|
文档的标题 | 让页面拥有一个属于自己的网页标题 |
|
文档的主体 | 包含文档的所有内容,页面内容基本都是放到 body 里面 |
【title 举例】
WebStorm
(生态、智能、收费)Dreamweaver
(可视化、收费)Sublime Text
(插件、收费)HBuilderX
(国产、小程序、多端)VSCode
(免费、插件、轻巧)Atom
(GitHub 出品) 文档类型声明,作用是告诉浏览器应该使用哪种 HTML 版本来解析渲染显示网页。
DOCTYPE html>
注意:
声明位于文档中的最前面的位置,处于 标签之前
不属于 HTML 标签,它就是文档类型声明标签
用来定义当前文档显示的主语言,在 标签内。
en
定义语言为英语zh-CN
定义语言为简体中文简单来说:定义为 en
就是英文网页,定义为 zh-CN
就是中文网页。
<html lang="zh-CN">
html>
注意: 语言的设置是为了 浏览器搜索结果的推荐
及触发 浏览器自动翻译功能
,并不是说设置了某类语言为主语言后文档中就不能存在其他类型的语言了。
字符集: 多个字符的集合,以便计算机能够识别和储存各种文字。
在 标签内,可以通过
标签的
charset
属性来规定 HTML 文档应该使用哪种字符编码。
<meta charset="UTF-8" />
charset
常用的值有:GB2312
、BIG5
、GBK
、UTF-8
,其中 UTF-8
也被称为:万国码,基本包含了全世界所有国家需要用到的字符。
注意: 字符设置是必须的,否则极大可能引起网页乱码。一般情况下,统一使用 “UTF-8” 编码,尽量统一写成标准的 UTF-8
,不要写成 “utf8” 或 “UTF8”。
VSCode 中提供的标准骨架:
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>Documenttitle>
head>
<body>
body>
html>
简单的理解: 标签的含义,即:这个标签是用来干嘛的。
为了使网页更具有语义化,我们经常会在页面中用到标题标签。
HTML 提供了 6 个等级的网页标题,即: 到
。
<h1>一级标题h1>
<h2>二级标题h2>
<h3>三级标题h3>
<h4>四级标题h4>
<h5>五级标题h5>
<h6>六级标题h6>
单词 head 的缩写,意为:头部、标题。
标签语义: 作为标题使用,并且依据重要性递减。
特点:
在网页中,要把文字有条理地显示出来,就需要将这些文字分段显示,在 HTML 标签中, 标签用于定义段落,它可以将整个网页分为若干个段落。
<p>我是一个段落标签p>
单词 paragraph 的缩写,意为:段落。
便签语义: 可以把 HTML 文档分割为若干段落。
特点:
在 HTML 中,一个段落中的文字会从左到右依次排列,直到浏览器窗口的右端,然后才自动换行。
如果希望某段文本强制换行显示,就需要使用换行标签
。
<br />
单词 break 的缩写,意为:打断、换行。
标签语义: 强制换行。
特点:
是个单标签
标签只是简单地开始新的一行,跟段落不一样,段落之间会插入一些垂直的间距(段间距)分割线:
。
<hr />
在网页中,有时需要为文字设置粗体、斜体或下划线等效果,这时就需要用到 HTML 中的文本格式化标签,使文字以特殊的方式显示。
**标签语义:**突出重要性,比普通文字更重要。
语义 | 标签 | 说明 |
---|---|---|
加粗 | 或
|
介于可读性、搜索引擎优化及屏幕阅读器适配推荐使用前者 |
倾斜 | 或
|
介于可读性、搜索引擎优化及屏幕阅读器适配推荐使用前者 |
删除线 | 或
|
介于可读性、搜索引擎优化及屏幕阅读器适配推荐使用前者 |
下划线 | 或
|
介于可读性、搜索引擎优化及屏幕阅读器适配推荐使用前者 |
注意: 标签不只是单纯的用于倾斜文本,其核心的意义在于对元素的强调作用!所以在后期的开发中可以把一些特殊的、强调性的元素放在 em 标签中,然后再对 em 这个盒子进行各种设置,这比把其放入其他盒子中要更合理。
div 是 division 的缩写,表示分割、分区。 span 意为:跨度、跨距。 特点: 说明: 后期可以通过 CSS 将 div 与 span 之间的特性相互转换。 拓展: (1)图像标签 在 HTML 标签中, 单词 image 的缩写,意为图像。 所谓属性:简单理解就是属于这个图像标签的特性。 图像标签的其他属性: 其中设置图像的宽度与高度时:一般设置其中之一便可,另外一个会自动按比例适配。 设置宽高时,可以使用百分数作为值,此时图片大小会以父元素大小的百分比作为依据。 图像标签的注意点: (2)路径 相对路径:以引用文件所在位置为参考基础,而建立出目录路径。 绝对路径:是指目录下的绝对位置,直接到达目的位置,通常是从盘符开始的路径。 如: 注意: 在 HTML 标签中, (1)链接的语法格式 单词 anchor 的缩写,意为:锚。 两个属性的作用如下: (2)链接分类 如果需要在 HTML 文档中添加一些便于阅读和理解但又不需要显示在页面中的文字,就需要使用注释标签。 HTML 中的注释以: 在 HTML 页面中,一些特殊的符号很难或者不方便直接使用,此时我们就可以使用下面的字符来替代。 注意:下标请使用: 表格主要用于显示、展示数据。因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据的时候,能够熟练运用表格就显得很重要。一个清爽简约的表格能够把繁杂的数据表现得很有条理(合理的使用表格也能够有效提高 SEO)。 **注意:**表格不是用来布局页面的,而是用来展示数据的。表格常用于表单数据的“布局”。 一般表头单元格位于表格的第一行或第一列,作用是:突出重要性,表头单元格里面的文本内容默认加粗居中显示。 注意: 表格标签的属性在实际开发中并不常用,而是通过后面的 CSS 来设置,这里了解即可。 以下属性都写在 table 开始标签内,多个属性之间用空格隔开。 使用场景: 因为表格可能很长,为了更好的表示表格的语义,可以将表格分割成: 在表格标签中,分别用: 特殊情况下,可以把多个单元格合并为一个单元格,这里会最简单的合并单元格即可。 合并单元格的方式: 目标单元格:(写合并代码) 合并单元格三步曲: 【综合案例】 根据使用情景不同,列表可以分为三大类: 常见应用: 注意:微博热搜是举例,实际上此处并非使用有序列表! 无序列表的基本语法格式如下: 附:去除 li 前符号的方法: 有序列表即为有序排列顺序的列表,其各个列表项会按照一定的顺序排列定义。(开发中不太常用) 在 HTML 标签中, 有序列表的基本语法格式如下: 附:去除 li 前符号的方法: 自定义列表的使用场景: 自定义列表常用于对术语或名词进行解释、描述和展开,定义列表的列表项前没有任何项目符号。(开发中常用) 在 HTML 标签中, 其基本语法如下: 使用表单的目的是收集用户信息。 在网页中,需要跟用户进行交互,收集用户资料,此时就需要表单。 在 HTML 中,一个完整的表单通常由 是没有语义的,它们就是两种盒子,用来对网页进行布局和装其他内容。
<div>这是头部div>
<span>今日价格span>
标签用来布局,一行上可以放多个
,小盒子
span
标签不单单是用于布局,对于一些需要特殊修饰和设置的元素,可以将其用 span
标签嵌套起来,然后就可以单独对其进行设置(比如:在一个 p 标签的段落中要对其中某一句话单独设置样式,那么就可以用 span 将这句话单独嵌套起来,这样就方便对其单独设置样式还不会影响其他内容,这也是利用了 span 一行可以放置多个盒子的特性)。2.4.6 图像标签和路径 img+正斜杆和反斜杆的使用场景
标签用于定义 HTML 页面中的图像。
<img src="图像URL" />
src
是 标签的必须属性,它用于指定图像文件的路径和文件名。
URL
是 统一资源定位符
(通俗理解:地址、网址)。
属性
属性值
说明
src
图片路径
必须属性
alt
文本
替换文本,图像不能正常显示时用于代替的文字(注意:为了提高搜索引擎优化 SEO 及适配屏幕阅读器,建议都把 alt 写上)
title
文本
提示文本,鼠标放到图片上,显示的提示文字
width
像素
设置图像的宽度
height
像素
设置图像的高度
border
像素
设置图像的边框粗细
key="value"
的格式,属性="属性值"
相对路径分类
符号
说明
同一级路径
如:
下一级路径
/
如:
上一级路径
../
如:
"D:\web\img\logo.gif"
或 完整的网络地址 "http://jerry-z-j-r.github.io/readme/jerry.jpg"
/
(正斜杆),绝对路径为 \
(反斜杆)/
正斜杆)2.4.7 超链接标签 a
标签用于定义超链接,作用是从一个页面链接到另一个页面。
<a href="跳转目标" target="目标窗口的弹出方式">文本、图像或其他内容a>
属性
作用
href
用于指定链接目标的 url 地址,(必须属性)当标签应用 href 属性时,它就具有了超链接的功能
target
用于指定链接页面的打开方式,其中
_self
在当前页面打开的方式(为默认值),_blank
在新窗口中打开的方式
百度
首页
首页
或 首页"
,推荐后者,因为前者点击后默认会跳转到页面顶部.exe
、 .pdf
、.jpg
、.zip
等),便会下载这个文件
#名字
的形式,如:第2集
id属性="刚才的名字"
,如:第2集介绍
默认定位到页面顶部
2.5 HTML中的注释和特殊字符
2.5.1 注释
结束。
2.5.2 特殊字符 空格 、小于号、大于号,&、乘除、上下标…
特殊字符
描述
字符的代码
空格符
<
小于号
<
>
大于号
>
&
和号
&
±
正负号
±
×
乘号
×
÷
除号
÷
²
上标
²
2
,同时上标也建议使用:2
。2.6 表格标签
2.6.1 表格的主要作用
2.6.2 表格的基本语法 tr-行 td-单元格
<table>
<tr>
<td>单元格td>
...
tr>
...
table>
是用于定义表格的标签
用于定义表格中的行,必须嵌套在
标签中
用于定义表格中的单元格,必须嵌套在
标签中 2.6.3 表头单元格标签 th
标签表示 HTML 表格的表头部分(table head 的缩写)。
<table>
<tr>
<th>姓名th>
...
tr>
...
table>
2.6.4 表格属性 table里的属性
<table align="center" border="1" cellpadding="0" cellspacing="0" width="500" height="240">
...
table>
属性名
属性值
描述
align
left
、center
、right
规定表格相对周围元素的对齐方式(默认 left),注意指的是整个表格的对齐方式(表格是在父盒子中默认往左靠,还是居中或是往右靠),而不是指单元格内容的对齐方式(单元格内容对齐可以通过:
style="text-align: center;"
设置)
border
1
或 ""
规定表格单元是否拥有边框,默认为 “”,表示没有边框
cellpadding
像素值
规定 单元边沿 与 其内容之间 的空白,默认 1 像素 (类似css的padding)
cellspacing
像素值
规定单元格之间的空白,默认 2 像素
width
像素值 或 百分比
规定表格的宽度
height
像素值 或 百分比
规定表格的高度
2.6.5 表格结构标签 thead tboby
表格头部
和 表格主体
两大部分。 标签表示表格的头部区域,
标签表示表格的主体区域,这样可以更好的分清表格结构。
:用于定义表格的头部, 内部必须拥有
标签,一般是位于第一行
:用于定义表格的主体,主要用于放数据本体
标签中
<table>
<thead>
<tr>
<th>姓名th>
...
tr>
thead>
<tbody>
<tr>
<td>小明td>
...
tr>
...
tbody>
table>
2.6.6 合并单元格 rowspan colspan
rowspan="合并单元格的个数"
colspan="合并单元格的个数"
合并方式=合并的单元格数量
,比如: 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>Documenttitle>
head>
<body>
<table width="500" height="249" border="1" cellspacing="0">
<tr>
<td>td>
<td colspan="2">td>
tr>
<tr>
<td rowspan="2">td>
<td>td>
<td>td>
tr>
<tr>
<td>td>
<td>td>
tr>
table>
body>
html>
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>Documenttitle>
head>
<body>
<table width="400px" height="200px" align="center" border="1" cellpadding="10" cellspacing="5">
<thead>
<tr>
<th>oneth>
<th>twoth>
<th>threeth>
<th>fourth>
tr>
thead>
<tbody>
<tr>
<td rowspan="3">1td>
<td colspan="3">234td>
tr>
<tr>
<td>2td>
<td>3td>
<td>4td>
tr>
<tr>
<td>2td>
<td>3td>
<td>4td>
tr>
tbody>
table>
body>
html>
2.7 列表标签
无序列表
、有序列表
和 自定义列表
。
标签名
定义
说明
无序标签
里面只包含 li 没有顺序,使用较多,li 里面可以包含任何标签
有序标签
里面只包含 li 有顺序,使用相对较少,li 里面可以包含任何标签
自定义标签
里面只能包含 dt 和 dd,dt 和 dd 里面可以放任何标签,dd 一般作为对 dt 的细分描述
2.7.1 无序列表 ul
标签表示 HTML 页面中项目的无序列表,一般会以项目符号呈现列表项,而列表项使用 标签定义。(开发中经常使用)
<ul>
<li>列表项1li>
<li>列表项2li>
<li>列表项3li>
...
ul>
中只能嵌套
,直接在
标签中输入其他标签或者文字的做法是不被允许的,列表中的任何内容都应该放在
li
中
与
style="list-style: none;"
2.7.2 有序列表 ol
标签用于定义有序列表,列表排序以数字来显示,并且使用 标签来定义列表项
<ol>
<li>列表项1li>
<li>列表项2li>
<li>列表项3li>
...
ol>
中只能嵌套
标签中输入其他标签或者文字的做法是不被允许的
与
style="list-style: none;"
2.7.3 自定义列表 dl
标签用于定义描述列表(或定义列表),该标签会与 (定义项目/名字)和
(描述每一个项目/名字)一起使用。
<dl>
<dt>名词1dt>
<dd>名词1解释1dd>
<dd>名词1解释2dd>
dl>
里面只包含
和
个数没有限制,经常是一个
对应多个
2.8 表单标签
2.8.1 为什么需要表单
2.8.2 表单的组成
表单域
、表单控件
(也称为表单元素)和 提示信息
3 个部分构成。2.8.3 表单域