视频参考:https://www.bilibili.com/video/av80149248
笔记参考:https://www.bilibili.com/video/av78942920/?spm_id_from=333.788.b_636f6d6d656e74.6评论区
0 学习路线
1 HTML简介
1.1 网页
1.1.1 什么是网页和HTML
- 网站是指在因特网上根据定的规则,使用HTML等制作的用于展示特定内容相关的网页集合。
- 网页是网站中的一"页",通常是HTML格式的文件,它要通过浏览器来阅读。
- 网页是构成网站的基本元素,它通常由图片、链接、文字、声音、视频等元素组成。通常我们看到的网页,常见以
.html
或.htm
后缀结尾的文件,因此将其俗称为HTML文件。
- HTML指的是超文本标记语言( Hyper Text Markup Language),它是用来描述网页的种语言。
- HTML不是一种编程语言,而是一种标记语言 (markup language)。
- 标记语言是一套标记标签(markup tag)
所谓超文本,有两层含义:
- 可以加入图片、声音、动画、多媒体等内容(超越了文本限制)。
- 还可以从一个文件跳转到另一个文件,与世界各地主机的文件连接(超级链接文本)。
1.1.2 网页的形成
- 网页是由网页元素组成的,这些元素是利用html标签描述出来,然后通过浏览器解析来显示给用户的。
1.1.3 总结
- 网页是图片、链接、文字、声音、视频等元素组成其实就是一个html文件(后缀名为html)
- 网页生成制作:有前端人员书写HTML文件然后浏览器打开就能看到了网页HTML:超文本标记语言,用来制作网页的一门语言。有标签组成的比如图片标签链接标签视频标签等。
1.2 浏览器(显示代码)
1.2.1 常用浏览器
浏览器是网页显示、运行的平台,常用的浏览器有IE、火狐(Firefox)、谷歌(Chrome)、Safari和Opera等。平时称为五大浏览器。
查看浏览器占有的市场份额:http://tongji.baidu.com/data/browser
1.2.2 常见浏览器内核
浏览器内核(渲染引擎):负责读取网页内容,整理讯息,计算网页的显示方式并显示页面。
浏览器内核英文叫做:Rendering Engine,中文翻译很多,排版引擎、解释引擎、渲染引擎,现在流行称为浏览器内核。
主要流行的就是下面几个:
浏览器 | 内核 | 备注 |
---|---|---|
IE | Trident | IE、猎豹安全、360极速浏览器、百度浏览器 |
firefox | Gecko | 火狐浏览器内核,可惜这几年已经没落了,打开速度慢、升级频繁、猪一样的队友flash、神一样的对手chrome。 |
Safari | webkit | 现在很多人错误地把 webkit 叫做 chrome内核(即使 chrome内核已经是 blink 了)。 |
chrome | Chromium/Blink | 在 Chromium 项目中研发 Blink 渲染引擎(即浏览器核心),内置于 Chrome 浏览器之中。Blink 其实是 WebKit 的分支。大部分国产浏览器最新版都采用Blink内核二次开发 |
Opera | blink | 现在跟随chrome用blink内核。 |
目前国内一般浏览器都会采用Webkit/Bink内核,如360、UC、QQ搜狗等。
拓展阅读:
- 移动端的浏览器内核主要说的是系统内置浏览器的内核。
- Android手机而言,使用率最高的就是Webkit内核,大部分国产浏览器宣称的自己的内核,基本上也是属于webkit二次开发。
- iOS以及WP7平台上,由于系统原因,系统大部分自带浏览器内核,一般是Safari或者IE内核Trident的
1.3 Web标准(重点)
Web标准不是某一个标准,而是由W3C组织和其他标准化组织制定的一系列标准的集合。
W3C(万维网联盟)是国际最著名的标准化组织。1994年成立后,至今已发布近百项相关万维网的标准,对万维网发展做出了杰出的贡献。
1.3.1 为什么要遵循WEB标准呢?
通过以上浏览器不同内核不同,它们显示页面或者排版就有些差异。
遵循web标准可以让不同我们写的页面更标准、更统一外,还有许多优点
1、让Web的发展前景更广阔
2、内容能被更广泛的设备访问
3、更容易被搜寻引擎搜索
4、降低网站流量费用
5、使网站更易于维护
6、提高页面浏览速度
1.3.2 Web 标准构成
主要包括结构(Structure)、表现(Presentation)和行为(Behavior) 三个方面。
标准 | 说明 | 备注 |
---|---|---|
结构 | 结构用于对网页元素进行整理和分类,咱们主要学的是HTML。 | ![]() |
表现 | 表现用于设置网页元素的版式、颜色、大小等外观样式,主要指的是CSS | ![]() |
行为 | 行为是指网页模型的定义及交互的编写,咱们主要学的是 Javascript | ![]() |
Web标准提出的最佳体验方案:结构、样式、行为相分离。
简单理解:结构写到HTML文件中,表现写到CSS文件中,行为写到 JavaScript文件中。
1.3.3 拓展
浏览器内核包括两部分,渲染引擎和js引擎。渲染引擎负责读取网页内容,整理讯息,计算网页的显示方式并显示页面,js引擎是解析执行js获取网页的动态效果。 后来 JS 引擎越来越独立,内核就倾向于只指渲染引擎。
IE:Trident
firefox:Gecko
chrom、safari:webkit
Opera:Presto
Microsoft Edge:EdgeHTML
深度阅读:五大主流浏览器内核的源起以及国内各大浏览器内核总结
2 HTML标签
2.1 语法规范与标签关系
- HTML标签是由尖括号包围的关键词,例如<html>。
- HTML标签通常是成对出现的,例如<html>和</html>,称为双标签。标签对中的第一个标签是开始标签,第二个标签是结束标签。
- 有些特殊的标签必须是单个标签(极少情况),例如<br/>,称为单标签。
双标签关系可以分为两类:包含关系 和 并列关系
包含关系:父子关系,嵌套关系
<head>
<title> </title>
<hhead>
并列关系
<head> </head>
<body ></body>
如果两个标签之间的关系是嵌套关系,子元素最好缩进一个tab键的身位(一个tab是4个空格)。如果是并列关系,最好上下对齐。
2.2 HTML基本结构标签
- 每个网页都会有一个基本的结构标签(也称为骨架标签),页面内容也是在这些基本标签上书写
- HTML页面也称为HTML文档
标签名 | 定义 | 说明 |
---|---|---|
<html></html> | HTML标签 | 页面中最大的标签,我们成为 根标签 |
<head></head> | 文档的头部 | 注意在head标签中我们必须要设置的标签是title |
<titile></title> | 文档的标题 | 让页面拥有一个属于自己的网页标题 |
<body></body> | 文档的主体 | 元素包含文档的所有内容,页面内容 基本都是放到body里面的 |
书写第一个HTML 页面。
- 新建一个 01-html骨架标签 的 TXT 文件。
- 里面写入刚才的HTML 骨架。
- 把后缀名改为 .HTML。
- 右击–谷歌浏览器打开。
<html>
<head>
<title>我的第一个页面</title>
</head>
<body>
你我之间 黑马洗练 月薪过万 一飞冲天
</body>
</html>
HTML文档的的后缀名必须是
.html
或.htm
,浏览器的作用是读取HTML文档,并以网页的形式显示出它们此时,用浏览器打开这个网页,就可以预览写的HTML文件了。
2.3 开发工具
2.3.1 VSCode生成html骨架
- 新建文件
- 保存为:文件,命名.html
- 生成页面骨架结构
- !,按下tab键
- !,出现框,选择一个叹号
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
2.3.2 生成骨架标签新增代码
1. 文档类型声明标签<!DOCTYPE>
- <!DOCTYPE> 声明位于文档中的最前面的位置,处于<html>标签之前
- <!DOCTYPE>不是一个HTML标签,它就是文档类型声明标签
- 作用是告知浏览器文档使用哪种 HTML版本
<!DOCTYPE html>
:当前页面采取的是HTML5版本来显示网页
2. 页面语言lang
lang语言种类:用来定义当前文档显示的语言.
en
:定义语言为英语zh-CN
:定义语言为中文
- 简单来说定义为en就是英文网页,定义为zh-CN就是中文网页
<html lang="zh-CN">
告诉浏览器或者搜索引擎这是一个中文网站,本页面采取中文来显示- 其实对于文档显示来说,定义成en的文档也可以显示中文,定义成zh-CN的文档可以显示英文
- 这个属性对浏览器和搜索引擎(百度谷歌等)还是有作用的
@拓展阅读:
简单来说,可能对于程序来说没有太大的作用,但是它可以告诉浏览器,搜索引擎,一些处理Html的程序对页面语言内容来做一些对应的处理或者事情。
比如可以
- 根据根据lang属性来设定不同语言的css样式,或者字体
- 告诉搜索引擎做精确的识别
- 让语法检查程序做语言识别
- 帮助翻译工具做识别
- 帮助网页阅读程序做识别
……
3. charset字符集
- 字符集(Character set)是多个字符的集合。计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。
- 在<head>标签内,可以通过<meta>标签的charset属性来规定HTML文档应该使用哪种字符编码
<meta charset="UTF-8">
:html 文件是以 UTF-8 编码保存的, 浏览器根据编码去解码对应的html内容。
utf-8是目前最常用的字符集编码方式:
- GB2312:简单中文,包括6763个汉字 GUO BIAO
- BIG5:繁体中文,港澳台等用
- GBK:包含简体繁体全部中文字符,是GB2312的扩展,兼容GB2312
UTF-8
:也被称为万国码,则基本包含全世界所有国家需要用到的字符
注意: 上面语法是必须要写的代码,否则可能引起乱码的情况。一般情况下,统一使用"UTF-8"编码,尽量统一写成标准的"UTF-8”,不要写成"utf8"或"UTF8"。
3 HTML常用标签
3.1 标签语义
学习标签是有技巧的,重点是记住每个标签的语义。简单理解就是指标签的含义,即这个标签是用来干嘛的。
根据标签的语义,在合适的地方给一个最为合理的标签,让结构更清晰。
- 方便代码的阅读和维护
- 同时让浏览器或是网络爬虫可以很好地解析,从而更好分析其中的内容
- 使用语义化标签会具有更好地搜索引擎优化
- 语义是否良好: 当去掉CSS之后,网页结构依然组织有序,并且有良好的可读性。
- 遵循的原则:先确定语义的HTML ,再选合适的CSS。所以,我们接下来学习html标签,要根据语义去记忆。 HTML网页中任何元素的实现都要依靠HTML标签。
3.2 排版标签
HTML标签有很多,使用时可以查手册。
排版标签主要和css搭配使用,显示网页结构的标签,是网页布局最常用的标签。
以下标签均在<body> </body>中使用
3.2.1 标题标签<h1> - <h6>
单词 head 的缩写意为头部、标题
为了使网页更具有语义化,经常会在页面中用到标题标签,HTML提供了6个等级
的标题,即
<h1> 一级标题,标题一共六级选 </h1>
<h2> 二级标题,文字加粗一行显 </h2>
<h3> 三级标题,由大到小依次减 </h3>
<h4> 四级标题,从重到轻随之变 </h4>
<h5> 五级标题,语法规范书写后 </h5>
<h6> 六级标题,具体效果刷新见 </h6>
------pink老师
标签语义: 作为标题使用并且依据重要性递减。
显示效果如下:
注意:
- 加了标题的文字会变的加粗,字号也会依次变大
- 一个标题独占一行
3.2.2 段落标签<p></p>
在网页中,要把文字有条理地显示出来,就需要将这些文字分段显示。在HTML标签中,段落标签用于定义段落,一个<p> 文本内容 </p>
定义一个段落,可以将整个网页分为若干个段落。
标签语义: 可以把HTML文档分割为若干段落。
单词paragraph [ˈpærəgræf]的缩写,意为段落
特点:
- 默认情况下,文本在一个段落中会根据浏览器窗口的大小自动换行。
- 段落和段落之间保有空隙
3.2.3 水平线标签<hr />
在网页中常常看到一些水平线将段落与段落之间隔开,使得文档结构清晰,层次分明。这些水平线可以通过插入图片实现,也可以简单地通过标签来完成,<hr />就是创建横跨网页水平线的标签。
单词 horizontal [ˌhɔrəˈzɑntl]的缩写,意为横线
特点:
<hr />
是单标签- 在网页中显示默认样式的水平线。
3.2.4 换行标签<br />
在HTML中,一个段落中的文字会从左到右依次排列,直到浏览器窗口的右端,然后自动换行。如果希望某段文本强制换行显示,就需要使用换行标签<br />
标签语义: 强制换行。
单词 break的缩写,意为打断、换行。
特点:
<br />
是个单标签<br />
标签只是简单地开始新的一行,跟段落不一样,段落之间会插入一些垂直的间距
3.2.5 div 和 span标签
<div>和<span>是没有语义的,它们就是一个盒子,用来装内容的。
div 是 division 的缩写,表示分割、 分区
span意为跨度、跨距
特点:
<div> 独占一行 </div>
标签用来布局,但是现在一行只能放一个<dⅳ>,大盒子<span>一行可多个格</span>
标签用来布局,一行上可以多个<span>,小盒子
3.3 文本格式化标签
在网页中,有时需要为文字设置粗体、斜体或下划线效果,这时就需要用到HTML中的文本格式化标签,使文字以特殊的方式显示。
标签语义: 突出重要性比普通文字更重要
语义 | 标签 | 效果 | 说明 |
---|---|---|---|
加粗 | <strong></strong> 或者<b></b> | HTML | 更推荐使用<strong> 标签加粗语义更强烈 |
倾斜 | <em></em> 或者<i></i> | HTML | 更推荐使用<em> 标签加粗,语义更强烈 |
删除线 | <del></del> 或者<s></s> | 更推荐使用<del> 标签加粗,语义更强烈 | |
下划线 | <ins></ins> 或者<u></u> | HTML | 更推荐使用<ins> 标签加粗,语义更强烈 |
3.4 图像标签
在HTML标签中,<img>标签用于定义HTML页面中的图像。
单词 image 的缩写,意为图像。
特点:
<img src="图像URL" />
是单标签src
是<img>标签的必须属性
,用于指定图像文件的路径和文件名- 所谓属性:简单理解就是属于这个图像标签的特性
属性 | 属性值 | 说明 |
---|---|---|
src | 图片路径 | 必须属性 |
alt | 文本 | 替换文本:图像不能显示时(图片裂开图标),出现的文字 |
title | 文本 | 提示文本:鼠标放到图像上,显示时的文字 |
width | 像素 | 设置图像的宽度 |
height | 像素 | 设置图像的高度 |
border | 像素 | 设置图像的边框粗细(一般用css设定,这里简单理解即可) |
示例:
<body>
正常的<br />
<img src="cz.jpg" width="300" height="300" /><br />
带有边框的<br />
<img src="cz.jpg" width="300" height="300" border="3" /><br />
有提示文本的<br />
<img src="cz.jpg" width="300" height="300" border="3" title="这是个小蒲公英" /><br />
有替换文本的<br />
<img src="cz.jpg" width="300" height="300" border="3" alt="图片不存在" />
</body>
注意:
- 高宽只修改一个,图像等比缩放
- 标签可以拥有多个属性,必须写在标签名后面
- 属性之间不分先后顺序,标签名与属性、属性与属性之间均以
空格
分开- 属性采取 键值对的格式,即
key="value"
的格式,属性=“属性值”
3.5 路径
实际工作中,文件不能随便乱放,否则用起来很难快速的找到他们,因此需要一个文件夹来管理他们。
目录文件夹:就是普通文件夹,里面只不过存放了做页面所需要的相关素材,比如html文件, 图片等等。
根目录:打开目录文件夹的第一层就是根目录
路径:页面中的图片会非常多, 通常再新建一个文件夹专门用于存放图像文件(images),这时再插入图像,就需要采用“路径”的方式来指定图像文件的位置。
路径可以分为:相对路径和绝对路径
3.5.1 相对路径
以引用文件所在位置为参考基础,而建立出的目录路径。
因为当保存于不同目录的网页引用同一个文件时,所使用的路径将不相同,故称之为相对路径。
简单说,就是图片相对于 HTML 文件的位置
路径分类 | 符号 | 说明 |
---|---|---|
同一级路径 | 只需输入图像文件的名称即可,如<img src=“baidu.gif” />。![]() | |
下一级路径 | / | 图像文件位于HTML文件同级文件夹下(例如文件夹名称为:images) 如<img src=“images/baidu.gif” />。 ![]() |
上一级路径 | ../ | 在文件名之前加入../ ,如果是上两级,则需要使用 ../../ ,以此类推, 如<img src="…/baidu.gif" />。![]() |
3.5.2 绝对路径
目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。
之所以称为绝对,意指当所有网页引用同一个文件时,所使用的路径都是一样的。
示例: “D:\web\img\logo.gif”,或完整的网络地址,例如“http://www.itcast.cn/images/logo.gif”。
注意: 绝对路径用的较少,它的写法是符号
\
并不是 相对路径的/
3.6 超链接标签
单词 anchor [ˈæŋkə(\r)]的缩写,意为锚
在HTML标签中,<a>
标签用于定义超链接,作用是从一个页面链接到另一个页面。
语法格式:
<a href="跳转目标" target="目标窗口的弹出方式">文本或图像</a>
属性 | 作用 |
---|---|
href | 用于指定链接目标的url地址,(必须属性 )当为标签应用href属性时,它就具有了超链接的功能 |
target | 用于指定链接页面的打开方式,其中_self 为默认值,在当前页面打开;_blank 为在新窗口中打开方式 |
链接分类:
- 外部链接,例如
<a href="http://www.baidu.com">百度</a>
:百度 - 内部链接:网站内部页面之间的相互链接。直接链接内部页面名称即可,例如
<a href="index.html">首页</a>
- 空链接:如果当时没有确定链接目标时,
<a href="#">首页</a>
- 下载链接:如果href里面地址是一个文件或者压缩包,会下载这个文件,
<a href="xxx.zip/xxx.exe">首页</a>
- 网页元素链接:在网页中的各种网页元素,如文本、图像、表格、音频、视频等都可以添加超链接,
<a href="http://www.baidu.com"><img src="img.jpg"/></a>
- 锚点链接:可以快速定位到当前页面中的某个位置
- 在链接文本的href属性中,设置属性值为
#名字
的形式,如:<a href="#two">第2集</a>
- 找到目标位置标签,里面添加一个
id属性="刚才的名字"
,如:<h3 id="two">第2集介绍</h3>
- 在链接文本的href属性中,设置属性值为
3.7 注释标签
如果需要在HIML文档中添加一些便于悦读和理解但又不需要显示在页面中的注释文字,就需要使用注释标签。
语法格式:<!-- 注释语句 -->
,快捷键ctrl + /
- 注释标签里面的内容是给程序猿看的,这个代码是不执行不显示到页面中的
- 添加注释是为了更好地解释代码的功能,便于相关开发人员理解和阅读代码,程序是不会执行注释内容的.
3.8 特殊字符
在HTML页面中,一些特殊的符号很难或者不方便直接使用,此时可以使用特殊字符来替代。
描述 | 字符的代码 |
---|---|
空格符 | |
小于号 | < |
大于号 | > |
和号 & | & |
人民币 ¥ | ¥ |
版权 © | © |
注册商标 ® | ® |
摄氏度 ° | ° |
正负号 ± | ± |
乘号 × | × |
除号 ÷ | ÷ |
平方2(上标2) ² | ² |
立方3(上标3) ³ | ³ |
总结:
- 是以运算符
&
开头,以分号运算符;
结尾。- 他们不是标签,而是符号。
- HTML 中不能使用 “<” 和 “>”字符,浏览器会将它们作为标签解析,若要正确显示,在 HTML 源代码中使用特殊字符
4. 综合案例: 圣诞
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>圣诞的由来</title>
</head>
<body>
<h1>圣诞节的那些事</h1>
1.圣诞是怎样由来的 <br />
<a href="#man">2.圣诞老人的由来 </a> <br />
<a href="#tree">3.圣诞树的由来 </a> <br />
<hr />
<h2>圣诞是怎样由来的</h2>
<p>圣诞节是基督教世界最大的节日。一般认为12月25日作为圣诞节可能开始于公元336年的罗马教会。4世纪初,1月6日是罗马帝国东部各教会纪念<a href="yesu.html" target="_blank">耶稣</a>降生和受洗的双重节日,即上帝通过耶稣向世人显示自己。</p>
<img src="images/t1.gif" height="100"/>
<h2 id="man">圣诞老人的由来</h2>
<p>圣诞节当然少不了圣诞老人,根据圣经记载,书中并没有提起这一号人物。到底他是如何成为圣诞的主角之一呢?</p>
<img src="images/t2.jpg" height="100"/>
<p>相传在一千六百多年前,荷兰巴里地方有一个老人,名叫尼古拉斯,他一生最爱帮助贫穷的人家。其中有一次他帮助三个贫穷的少女,送她们三袋金子以逃过被卖的不幸。</p>
<h2 id="tree">圣诞树的由来</h2>
<p>圣诞一直是庆祝圣诞节不可少的装饰物,如果家中没有圣诞树,就大大减少了过节气氛。关于圣诞树的来源有多种不同的传说。</p>
<p> 另一个传说记载。在很久以前,曾有一位农民,在圣诞节那天遇到一个穷苦小孩,他热情地接待了这个儿童。儿童临走时折下一根松枝插在地上,松枝立即变成一棵树,上面都挂满礼物,以答谢农民的好意。</p>
更多内容可以百度一下
<a href="http://www.baidu.com" target="_blank"> <img src="images/arr.gif" height="30"/> </a>
</body>
</html>