一、HTML简介
1.HTML是什么?
HTML:hyper text markup language超文本标记(标签)语言由各种标签组成,用来制作网页,告诉浏览器该如何显示页面
2.作用
-
制作网页,控制网页和内容的显示
-
插入图片、音乐、视频、动画等多媒体
-
通过链接来检索信息
-
使用表单获取用户的信息,实现交互
3.版本
W3C:world wide web consortium万维网联盟,制定Web技术相关标准和规范的组织,HTML就是由W3C制定的标准
两个版本:HTML 4.0.1、HTML5.0-----通常H5
官网:http://www.w3shcool.com.cn
4.扩展名
HTML文档是以.html或.htm结尾
二、HTML文档结构
1.基本结构
1.1 简介
-
HTML标签是由尖括号括起来的关键词,如
<html>
,通常是成对出现的,如<html></html>
-
以
<html>
为根标签包含:<head>
头部和<body>
-
头部提供关于网页的相关信息,如标题、文档类型、字符编码、关键字等摘要信息
-
主体部分提供网页的显示内容,真正显示在页面中的内容
-
合理的进行缩进
-
标签名不区分大小写,但是一般要用小写
1.2.开发工具
记事本notepad、sublime、Notepad++、Dreamweaver、VScode、Webstorm等
使用步骤:
- 新建文件(cltr+N),然后保存(ctrl+s),指定扩展名为.html
- 编写HTML代码
- 在浏览器中打开文件
使用技巧:
-
先保存再写代码,否则代码无颜色提示
-
创建一个文件夹,用于保存所有的网页内容,将文件夹拖拽到sublime中,便于管理
显示/隐藏侧边栏
-
方式1:查看–>侧边栏–>显示/隐藏侧边栏
-
方式2:ctrl+K紧接着按B
显示多栏
-
方式1:查看–>布局–>列数:2列
-
方式2:Alt+shift+2
1.3浏览器
常见的浏览器:IE浏览器微软、chrome谷哥浏览器、firefox火狐、safari苹果
浏览器的作用是读取html文件,并以网页的形式来显示
浏览器不会直接显示html标签,而是使用标签来解释网页的内容
2.标签
2.1 标签的组成
一个完整的html标签的组成:
<标签名 属性名=“属性值”>内容</标签名>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>标签</title>
</head>
<body bgcolor="red" text="blue">
html从入门到精通!
</body>
</html>
属性值要用双撇号括起来,一般用双引号
2.2 标签的分类
根据标签是否关闭,分为,关闭型和非关闭型
**关闭型:**有结束标签,即标签成对出现
<html></html>
<head></head>
<title></title>
**非闭闭型:**没有结束标签
<meta>
<br>
<h1>.....<h6>
根据标签是否独占一行,分为块级标签和行级标签
**块级标签:**显示为块状,独占一行
<h1>大家好</h1>
<hr>
**行级标签:**在行内显示,可与其他内容在同一行显示
<span></span>
2.3 注释
注释在浏览器中是不会显示的,是用来标注解释html语句,但通过查看源代码的方式可以看到
语法:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注释</title>
</head>
<body>
<!--这是一个二级标题-->
<h2>welcome to html!</h2>
</body>
</html>
示例:
2.4 实体字符
也称为特殊字符,用于显示一些特殊符号,如:< > & 空格等
常用的实体字符:
< < 小于号 less than
> > 大于号 great than
空格 space 在html中对于连续的空白字符(包括空格、换行、Tab等),在浏览器中显示为一个空格
& & 与
&quct; " 双引号
© © 版权符号 copyright
® ® 注册符号 register
&time; × 关闭按钮
示例:
2.5 文档类型
-
在html文档的第一行,使用声明HTML文档的类型用来告诉浏览器页面的文档类型,简单来讲,用来指定html版本的规范
-
目前基本上最常用的html5
三、常用标签
3.1基本标签
标签 | 含义 | 说明 |
---|---|---|
br | 换行标签 | 非关闭型 |
p | 段落标签 | 关闭型、块级标签、前后有明显的间隔 |
h1、h2…h6 | 标题标签 | 按照h1到h6逐渐变小、块级标签、加粗显示 |
pre | 预格式化标签 | 保留编码时的格式 |
div | 分区标签 | 常用作容器来使用,一般用于页面的布局划分,,块级标签 |
span | 范围标签 | 默认没有任何效果,一般用来设置行内的特殊样式 |
ol、li | 有序列表 | 有顺序的项目列表 |
ul、li | 无序列表 | 无顺序的项目列表 |
dl、dt、dd | 定义列表 | 对术语、图片等进行描述而定义的列表 |
hr | 水平线标签 | 非关闭型标签,块级标签 |
img | 图像标签 | 非关闭型标签,块级标签 |
3.1.1有序列表
ol:ordered list
li:list item
默认使用阿拉伯数字、从1开始标记,可以通过属性进行修改
- type属性:设置列表的符号标记、取值;数字1(默认)、字母(a或A)、罗马数字(i或I)
- start属性:设置起始值,值必须是数字
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h3>2020年网络游戏排行榜</h3>
<ol type="a" start="3">
<li>吃鸡</li>
<li>王者荣耀</li>
<li>LOL</li>
<li>WOL</li>
</ol>
</body>
</html>
示例:
3.1.2无序列表
ul:unodered list
li:list item
默认情况下使用实心圆表作为符号标记,可以通过属性进行修改
- type属性:设置列表的符号标记、取值:disc实心圆(默认)、circle空心圆、square正方形、none不显示项目符号
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h3>亲爱的同学们</h3>
<ul type="circle">
<li>弓金正</li>
<li>张晋超</li>
<li>张跃德</li>
<li>123456</li>
</ul>
<hr>
</body>
</html>
示例:
3.1.3定义列表
dl:definition list
dt:definition title
dd:definition description
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>常用标签dl、dt、dd</title>
</head>
<body>
<h3>术语的解释</h3>
<dl>
<dt>LOL</dt>
<dd>它是由腾讯公司代理的一款网络游戏,中文名叫英雄联盟</dd>
<dd>他分为PC端和移动端</dd>
<dt>HTML</dt>
<dd>是一种制作网页的标签=记语言</dd>
<dt>JAVA</dt>
<dd>是一种跨平台的编程语言</dd>
</dl>
</body>
</html>
示例:
3.1.4水平线标签
hr:horizontal
常用属性:
-
color:颜色
两种书写方法:
①颜色名称:如red、green、blue、white、black、pink、orange等
②16进制的RGB表示法:Red、Green、Blue用法:#RRGGBB 每种颜色的取值范值0-255,转换为16进制00-FF
eg: #FF0000 红色 #00FF00绿色 #0000FF蓝色 #FFFFFF白色、#CCCCCC #FF7300
-
size:粗细,数值
-
width宽度:
两种写法:
像素:绝对值(固定值)
百分比:相对值,相对于水平线标签所在父容器宽度的百分比
-
align对齐
-
取值:center居中 left right
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>常用标签hr</title>
</head>
<body>
<hr color="#FF7300" size="10px">
<hr color="red">
<hr color="blue" width="400">
<hr color="#00FF00" width="50%">
<div style="width:600px;height:300px;background:#FF7300">
<hr color="red" width="50%" size="9px" align="right">
</div>
</body>
</html>
示例:
3.1.5图像标签
img:image
常见的图片格式:.jpg .png .gif .bmp
常见的属性:
-
src:source指定图片的路径(来源),必选叁数
如果图片与html源代码在同一个文件夹中,可以直接在src中写图片名称即可
习惯上,我们会将多个图片与html代码文档分别放在同一个文件夹project中的不同目录下,此时需要
在src中指定图片的路径为相对路径
.\ 表示当前目录
..\ 表示上级目录
- alt:当图片无法显示时显示的提示信息
- title:当鼠标放到图片上时显示的提示信息
- width和height:设置图片的宽度和高度
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<img src="..\img\qq.jpg" alt="" title="图片加载失败。。。。">
<hr>
<div style="width: 800px;height: 800px;background:red">
<img src="..\img\mac.jpg" alt="" width="50%">
<div style="width: 500px;height:500px;background:#cccccc">
<img src="..\img\mac.jpg" alt="" width="50%">
</div>
</div>
<img src="..\img\mac.jpg" alt="" width="50%" >
</body>
</html>
示例:
3.2 其他标签
标签 | 含义 | 说明 |
---|---|---|
i | 斜体标签 | italic |
em | 强调标签 | 在浏览器中显示时一般为斜体 |
address | 地址 | 在浏览器中显示时一般为斜体,块级标签 |
b | 加粗显示 | boid |
strong | 强调的内容 | 在浏览器中显示时一般为加粗显示 |
del | 删除线 | delete |
ins | 下划线 | |
sub | 下标 | |
sup | 上标 | |
bdo | 设置文本的方向 | 通过属性dir=“ltr” left to right “rtl” right to left从右至左 |
abr | 设置文字的缩写 | 通过title属性设置当鼠标停留在文字上时显示的提示 内容 |
small | 相对于当前文字的字号小一号 | |
big | 相当于当前文字的字号大一号 |
为了更好的语义化
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
welcome <i>to</i> html!
<br>
welcome <em>to</em> html!
<br>
weloome to <address>上海市南京东路</address>
<hr>
HTML从<b>入门</b>到精通
<br>
HTML从<strong>入门</strong>到精通!
<br>
原价:188元,优惠价:<span style="font-size: 40px;color: #FF7300">98元</span>
<hr>
主讲:<ins>hector</ins>
<br>
<hr>
水的分子表达式:H<sub>2</sub>0
<br>
2<sup>3</sup>=8
<hr>
<bdo dir="rtl">welcome to html!</bdo>
<br>
<bdo dir="rel">上海自来水来自海上</bdo>
<br>
<abbr title="Hyper Text Language">HTML</abbr>
<br>
<span title="Hyper Text Language">HTML</span>
<hr>
HTML从<small>入门</small>到精通!
<br>
HTML从<big>入门</big>到精通!
</body>
</html>
示例:
3.3头部标签
-
meta定义网页的摘要信息,如字符编码、关键字、描述、作者等
-
title定义网页的标题
-
style定义内部CSS样式
-
link引用外部CSS样式
-
script:定义或引用脚本
-
base定义基础路径
默认以当前页面文件所在的位置为相对路径的参照
<!DOCTYPE html>
<html lang="en">
<!-- 设置字符编码 -->
<meta charset="UTF-8">
<!-- 设置关键字 -->
<meta name="keywords"content="IT教育,JAVA开发,WEB前端,Android开发,python">
<!-- 设置描述信息 -->
<meta name="description" content="做专业的IT教育.....">
<!-- 设置网站的作者 -->
<meta name="author" content="叽叽">
<!-- 设置网站的跳转 -->
<!-- <meta http-equiv="refresh" content="2;url=https://www.baidu.com"> -->
<title>头部标签</title>
<!-- 定义内部的CSS样式 -->
<style>
body{
color:red;
}
</style>
<!-- 引用外部的CSS样式文件 -->
<link rel="stylesheet" href="CSS样式文件的路径">
<!-- 定义或引用脚本 -->
<script>
alert("哈哈哈哈!")
</script>
<!-- 定义一个基础路径 -->
<base href="../img/">
</head>
<body>
IT教育,计算机等级考试---叽叽
<img src="heihei.gif" alt="">
<img src="qq.jpg" alt="">
</body>
</html>
示例:
4.4 标签嵌套
- 一个标签中嵌套另外,如以下标签的嵌套是正确的:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>标签的嵌套</title>
</head>
<body>
<!-- 正确的 -->
<div style="width:200px;height:200px;background:blue">
<p>
world
</p>
</div>
</p>
</body>
</html>
示例:
- 一个标签标签不能乱嵌套,如以下标签的嵌套是错误的
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>标签的嵌套</title>
</head>
<body>
<!-- 错误的 -->
<p style="width:300px;height:300px;background:green">
<div style="width:200px;height:200px;background:blue">
world
</div>
</p>
</body>
</html>
示例:
浏览器渲染后显示的页面代码与编码时有所不同
chrome浏览器提供的开发工具:用来帮助开发人员查看和调试页面的
示例:
如何打开:
- 在页面中右键单击–>检查/审查元素/查看元素
- 按F12
常用工具:
-
Elements:从浏览器的角度来看页面,浏览器渲染页面时的结构
-
console:控制台,显示各种警告和错误信息
-
network:查看网络请求信息,浏览器向服务器请求了哪些资源、资源大小、加载资源所共费的时间
四、超链接
4.1 简介
使用超链接可以从一个页面跳转到另外一个页面,实现页面之间导航
当鼠标移动到超链接文本或图片时,鼠标箭头会变成一只小手
超链接有三种类型:
- 普通链接/页面间的链接,跳转到另一个页面
- 锚链接:链接到锚点(链接到同一个页面的指定位置)
- 功能链接:实现特殊功能(发邮件,下载)
4.2 基本用法
使用<a>
标签来创建超链接
语法格式:
<a href="链接地址" target="链接打开的位置">链接文本或图片</a>
常用属性:
- href:链接地址或路径,链接地址
- target:链接打开的位置,取值
_self 自身,当前,默认值
_blank 新的,空白的
_parent 父层框架
_top 顶层框架
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>超链接</title>
</head>
<body>
<a href="https://www.baidu.com">百度</a>
<hr>
<a href="c:/超链接/b.html" target="_self">b</a>
<hr>
<a href="./c.html" target="_blank">c</a>
<hr>
</body>
</html>
示例:
路径分类:
-
绝对路径:以根开始的路径
file:///D:/software/b.html
https://www.baidu.com/img/bd_logo1.png
-
相对路径:相对于当前页面文件所在的路径,不是以根开始的路径
./ 当前路径
../ 当前位置上一级目录
4.3 锚链接
4.3.1 简介
点击链接后跳转到某一个页面的指定位置(锚点anchor)
锚链接的分类:
- 页面内的锚链接
- 页面间的锚链接
4.3.2 页面内的锚链接
步骤:
-
定义锚点(标记)
<a name="锚点的名称">目标位置</a>
-
链接锚点
<a href="#锚点名称">链接文本</a>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<p>
<a name="first">简介</a>
</p>
<P>
HTML的英文全称是 Hypertext Marked Language,即超文本标记语言。HTML是由Web的发明者 Tim Berners-Lee和同事 Daniel W. Connolly于1990年创立的一种标记语言,它是标准通用化标记语言SGML的应用。用HTML编写的超文本文档称为HTML文档,它能独立于各种操作系统平台(如UNIX, Windows等)。使用HTML语言,将所需要表达的信息按某种规则写成HTML文件,通过专用的浏览器来识别,并将这些HTML文件“翻译”成可以识别的信息,即现在所见到的网页。
</p>
<p>
自1990年以来,HTML就一直被用作WWW的信息表示语言,使用HTML语言描述的文件需要通过WWW浏览器显示出效果。HTML是一种建立网页文件的语言,通过标记式的指令(Tag),将影像、声音、图片、文字动画、影视等内容显示出来。事实上,每一个HTML文档都是一种静态的网页文件,这个文件里面包含了HTML指令代码,这些指令代码并不是一种程序语言,只是一种排版网页中资料显示位置的标记结构语言,易学易懂,非常简单。HTML的普遍应用就是带来了超文本的技术―通过单击鼠标从一个主题跳转到另一个主题,从一个页面跳转到另一个页面,与世界各地主机的文件链接超文本传输协议规定了浏览器在运行HTML文档时所遵循的规则和进行的操作。HTTP协议的制定使浏览器在运行超文本时有了统一的规则和标准。
</P>
<p><a name ="second">HTML版本</a></p>
<p>HTML是用来标记Web信息如何展示以及其他特性的一种语法规则,它最初于1989年由GERN的Tim Berners-Lee发明。HTML基于更古老一些的语言SGML定义,并简化了其中的语言元素。这些元素用于告诉浏览器如何在用户的屏幕上展示数据,所以很早就得到各个Web浏览器厂商的支持。
</p>
<p>HTML历史上有如下版本:
①HTML 1.0:在1993年6月作为互联网工程工作小组(IETF)工作草案发布。<br>
②HTML 2.0:1995年1 1月作为RFC 1866发布,于2000年6月发布之后被宣布已经过时。 <br>
③HTML 3.2:1997年1月14日,W3C推荐标准。 <br>
④HTML 4.0:1997年12月18日,W3C推荐标准。<br>
⑤HTML 4.01(微小改进):1999年12月24日,W3C推荐标准。<br>
⑥HTML 5:HTML5是公认的下一代Web语言,极大地提升了Web在富媒体、富内容和富应用等方面的能力,被喻为终将改变移动互联网的重要推手。<br>
</p>
<p><a name ="three">特点</a></p>
<p>
超级文本标记语言文档制作不是很复杂,但功能强大,支持不同数据格式的文件镶入,这也是万维网(WWW)盛行的原因之一,其主要特点如下: [4]
简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便。 [4]
可扩展性:超级文本标记语言的广泛应用带来了加强功能,增加标识符等要求,超级文本标记语言采取子类元素的方式,为系统扩展带来保证。 [4]
平台无关性:虽然个人计算机大行其道,但使用MAC等其他机器的大有人在,超级文本标记语言可以使用在广泛的平台上,这也是万维网(WWW)盛行的另一个原因。 [4]
通用性:另外,HTML是网络的通用语言,一种简单、通用的全置标记语言。它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。
</p>
<p><a name="four">编辑方式</a></p>
<p>
HTML其实是文本,它需要浏览器的解释,它的编辑器大体可以分为以下几种:
基本文本、文档编辑软件,使用微软自带的记事本或写字板都可以编写,当然,如果你用WPS来编写,也可以。不过存盘时请使用.htm或.html作为扩展名,这样就方便浏览器认出直接解释执行了。 [7]
半所见即所得软件,如:FCK-Editer、E-webediter等在线网页编辑器;尤其推荐:Sublime Text代码编辑器(由Jon Skinner开发,Sublime Text2收费但可以无限期试用)。 [7]
所见即所得软件,使用最广泛的编辑器,完全可以一点不懂HTML的知识就可以做出网页,如:AMAYA(出品单位:万维网联盟);FRONTPAGE(出品单位:微软);Dreamweaver(出品单位Adobe)。Microsoft Visual Studio(出品公司:微软):其中所见即所得软件与半所见即所得的软件相比,开发速度更快,效率更高,且直观的表现更强。任何地方进行修改只需要刷新即可显示。缺点是生成的代码结构复杂,不利于大型网站的多人协作和精准定位等高级功能的实现。
</p>
<p><a name="five">整体结构</a></p>
<p>
一个网页对应多个HTML文件,超文本标记语言文件以.htm(磁盘操作系统DOS限制的外语缩写)为扩展名或.html(外语缩写)为扩展名。可以使用任何能够生成TXT类型源文件的文本编辑器来产生超文本标记语言文件,只用修改文件后缀即可。标准的超文本标记语言文件都具有一个基本的整体结构,标记一般都是成对出现(部分标记除外例如:<br/>),即超文本标记语言文件的开头与结尾标志和超文本标记语言的头部与实体两大部分。有三个双标记符用于页面整体结构的确认。 [10]
标记符<html>,说明该文件是用超文本标记语言(本标签的中文全称)来描述的,它是文件的开头;而</html>,则表示该文件的结尾,它们是超文本标记语言文件的开始标记和结尾标记。
</p>
<p><a nama="six">相关要求</a></p>
<p>
在编辑超文本标记语言文件和使用有关标记符时有一些约定或默认的要求。 [9]
文本标记语言源程序的文件扩展名默认使用htm(磁盘操作系统DOS限制的外语缩写为扩展名)或
html(外语缩写为扩展名),以便于操作系统或程序辨认,除自定义的汉字扩展名。在使用文本编辑器时,注意修改扩展名。而常用的图像文件的扩展名为gif和jpg。 [9]
超文本标记语言源程序为文本文件,其列宽可不受限制,即多个标记可写成一行,甚至整个文件可写成
一行;若写成多行,浏览器一般忽略文件中的回车符(标记指定除外);对文件中的空格通常也不按源程序中的效果显示。完整的空格可使用特殊符号(实体符)“ (注意此字母必须小写,方可空格)”表示非换行空格;表示文件路径时使用符号“/”分隔,文件名及路径描述可用双引号也可不用引号括起。 [9]
标记符中的标记元素用尖括号括起来,带斜杠的元素表示该标记说明结束;大多数标记符必须成对使用,以表示作用的起始和结束;标记元素忽略大小写,即其作用相同,但完整的空格可使用特殊符号“ (注意此字母必须小写,方可空格)”;许多标记元素具有属性说明,可用参数对元素作进一步的限定,多个参数或属性项说明次序不限,其间用空格分隔即可;一个标记元素的内容可以写成多行。 [9]
标记符号,包括尖括号、标记元素、属性项等必须使用半角的西文字符,而不能使用全角字符。 [9]
HTML注释由"<!--"号开始,由符号”-->“结束结束,例如<!--注释内容-->。注释内容可插入文本中任何位置。任何标记若在其最前插入惊叹号,即被标识为注释,不予显示。
</p>
</body>
</html>
示例:
4.3.3 页面间的锚链接
<a href="目标页面的文件名#锚点名称">链接文本</a>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>页面间的锚链接</title>
</head>
<body>
<ol>
<li><a href="锚链接.html#first" target="_blank">简介</a></li>
<li><a href="锚链接.html#second" target="_blank">HTML版本</a></li>
<li><a href="锚链接.html#three" target="_blank">特点</a></li>
<li><a href="锚链接.html#four" target="_blank">编辑方式</a></li>
<li><a href="锚链接.html#five" target="_blank">整体结构</a></li>
<li><a href="锚链接.html#six" target="_blank">相关要求</a></li>
</ol>
</body>
</html>
示例:
4.4 功能链接
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<a href="../img/heihei.gif" target="_blude">点击此处下载图片</a>
<br>
<a href="mailto:9075512@qq.com" target="_blude">联系我们</a>
</body>
</html>
示例:
4.5 URL
4.5.1 简介
URL:Uniform Resource Locator 统一资源定位器,用来定位资源所在的位置,最常见的就是网址
https://www.baidu.com/img/bd_logo1.png?name=tom&age=2&sex=male
https://www.w3school.com.cn/html/html_quotation_elements.asp
file:///C:/Users/Administrator/Desktop/project/code/09.%E5%B8%B8%E7%94%A8%E6%A0%87%E7%A
D%BE3.html
http://www.wzue.cn/
ftp://10.255.254.253/
4.5.2 组成
一个完整的URL由8个部分组成:
-
协议:prococol 如
http:超文本传输协议,用来访问WEB网站Hyper text Transfer protocal
https:更加安全的协议 SSL安全套接子层
ftp文件传输协议,用来访问服务器上的文件,实现文件的上传和下载File Transfer protocol
file:文件协议,用来访问本地文件
-
主机名hostname服务器地址或服务器Netbios名称,如www.baidu.com ftp://10.255.254.254
-
端口:port位于主机名的后面,使用冒号进行分隔
不同的协议使用不同的端口,如http使用80端口,https使用的443端口,ftp使用20和21
如果使用的是默认端口,则端口可以省略
如果使用的不是默认端口,则必须指定端口http://59.49.32.213:7070/
-
路径:path目标文件所在的路径结构,如:www.baidu.com/img/
-
资源resource要访问的目标文件,如bd_logo1.png
-
查询字符串:query string 也称为参数
在资源后面使用?开头的一组名称/值
查询字符串:query string 也称为参数 在资源后面使用?开头的一组名称/值
-
锚点anchor,在资源后面使用#开头的文本,如#6
-
身份认证authentication,指定身份信息,如:ftp://账户;密码@网站服务器
五、表格
表格是一个规则的行和列,每个表格是由若干行来组成,每行由若干个单元格组成
table row column
5.1 基本结构
5.1.1 table 标签
常用属性:
-
border:表示表格的边框,默认值为零
-
width/height:宽度和高度
-
bordercolor:边框颜色
-
align对齐方式取值:left 左对齐center居中righ右对齐
-
bgcolor:背景颜色
-
background:背景图片
-
cellspacing:间距。单元格与单元格之间的距离
-
cellpading边距:单元格中的内容到边距之间的距离
5.2.2 tr标签
用来定义行:table row
常用属性:
- align:表示水平对齐 取值:left(默认)
- valign垂直对齐 取值:top顶部 middle中间 bottom底部
- bgcolor背景颜色:
- background背景图片
5.2.3 td标签
定义单元格,table data,
常用属性:align、valign
注意:表格必须是由行来组成,行必须由单元格来组成
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<table border="2" width="400px" height="300px" align="center" bordercolor="red" bgcolor="#cccccc" background="../img/bg.gif" cellspacing="0" cellpadding="10">
<tr align="center" bgcolor="cyain">
<td>你好</td>
<td>你好</td>
<td>你好</td>
<td>你好</td>
</tr>
<tr align="right">
<td>你好</td>
<td>你好</td>
<td>你好</td>
<td>你好</td>
</tr>
<tr ailgn="left" valign="top">
<td>你好</td>
<td align="right" bgcolor="blue">你好</td>
<td>你好</td>
<td>你好</td>
</tr>
<tr ailgn="right" valign="center" background="../img/heihei.gif">
<td>你好</td>
<td>你好</td>
<td>你好</td>
<td>你好</td>
</tr>
</table>
</body>
</html>
示例:
5.3 合并单元格
合并单元格也称为单元格的跨行和跨列
两个属性:
-
rowspan
设置单与昂所跨的行数
-
colspan
设置单与昂所跨的列数
步骤:
1.在跨越的单元格中设置rowspan或者colspan属性
2.将被跨越的但与昂删除
必须要保证每行的实际列数是相同的,否则表格可能会出错乱
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<!--table>(tr>td{hello$}*4)*4 -->
<table border="1" width="500px" height="300px">
<tr>
<td colspan="4" align="center">hello1</td>
</tr>
<tr>
<td rowspan="3">hello</td>
<td>hello2</td>
<td>hello3</td>
<td>hello4</td>
</tr>
<tr>
<td>hello2</td>
<td rowspan="2" colspan="2">hello3</td>
</tr>
<tr>
<td>hello2</td>
</tr>
</table>
</body>
</html>
示例:
5.4 高级标签
5.4.1 caption标签
表格的标题标签
5.4.2 thehead标签
表格的头部 table head
5.4.3 th标签
表格头部的标题table head title
一般用在thead当中,设置头部的标题、代替tb标签、与td的区别、th中的文本会加粗且居中显示
5.4.4 tbody标签
表格的主体table body
5.4.5 tfoot标签
表格的底部table foot
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<!--table>(tr>td*4)*6 -->
<table border="1" width="500px" height="300px" align="center">
<caption><h2>学生基本信息表</h2></caption>
<thead bgcolor="cyan" >
<th>学号</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
</thead>
<tbody align="center" bgcolor="yellow">
<tr>
<td>1001</td>
<td>张三</td>
<td>99</td>
<td>女</td>
</tr>
<tr>
<td>1002</td>
<td>李四</td>
<td>99</td>
<td>女</td>
</tr>
<tr>
<td>1003</td>
<td>王五</td>
<td>99</td>
<td>女</td>
</tr>
<tr>
<td>1004</td>
<td>赵六</td>
<td>20</td>
<td>男</td>
</tr>
</tbody>
<tfoot bgcolor="#ff7300" align="center">
<tr>
<td width="25%">合计人数</td>
<td colspan="3">4</td>
</tr>
</tfoot>
</table>
</body>
</html>
示例:
六、表单
6.1 简介
表单是一个包含若干个表单元素的区域,用于获取琐类型的用户数据
表单元素是允许用户在表单输入信息的元素,如文本框、密码框、单选按钮、复选框、下拉列表、按钮等
6.2 表单结构
6.2.1 表单语法
<form action="表单的提交地址" method="提交方式"> </form>
6.2.2 form标签
用来定义表单,可以包含多个表单元素
常用属性:
-
action:提交数据给谁处理,即处理数据的程序,默认为当前页面
-
method:提交数据的方式或方法,取值:get(默认),post
-
get和post的区别:
get:以查询字符串的形式提交,在地址栏中能看到,长度有限制,不安全
post以表单数据组的形式进行提交,在地址栏中看不到,长度无限制,安全
-
enctype(encode type)编码类型:提交数据的编码,取值application/X-www-form-urlencoded(默认)、multipart/form-data(文件上传
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单的基本用法</title>
</head>
<body>
<h2 align="center">用户注册</h2>
<form action="" align="center" method="get" enctype="multipart/form-data">
用户名:<input type="text" name="user_name">
<br>
密 码:<input type="text" name="pwd">
<br>
年 龄:<input type="text" name="age">
<hr>
<input type="submit">
</form>
</body>
</html>
示例:
6.3 表单元素
大多数的表单元素都是使用<input>
标签来定义的,通过设置属性type来定义不同的表单元素
<input type="表单元素类型" name="名称" value="初始值" size="宽度">
表单元素的类型 | 含义 | 说明 |
---|---|---|
text | 单行文本框 | 少略时默认是text |
password | 密码框 | 输入时以点号表示,安全 |
radio | 单选按钮 | 只能选择其中一个 |
checkbox | 复选框 | 可以同时选择多个 |
submit | 提交按钮 | 提交表单数据 |
reset | 重置按钮 | 充值表单元素为初始值 |
image | 图像按钮 | 可以使用图片作为一个按钮,也具有提交的功能 |
button | 普通按钮 | 默认无功能 |
file | 文件选择器 | 选择要上传的文件 |
hidden | 隐藏域 | 在页面不显示,但是会提交,可以用来存储数据 |
6.3.1 单行文本框
常用属性:
-
name名称,很重要,如果没有定义name属性,则该表单元素的数据是无法提交的
-
value初始值
-
size显示宽度
-
maxlength:最大字符数,默认是没有限制
-
readonly只读:
readonly="readonly"
,可简写readonly
,即只写属性名 -
disabled禁用:
disabled="disabled"
, 可简写disabled
完全禁用表单元素被提交的两个条件,1.有name属性2.非disabled
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单的基本用法</title>
</head>
<body>
<h2 >用户注册</h2>
<form action="" method="get" enctype="multipart/form-data">
用户名:<input type="text" name="user_name">
<br>
密 码:<input type="text" name="pwd" value="初始值">
<br>
年 龄:<input type="text" name="age" maxlength="3" size="3">
<br>
<input type="text" name="xieyi" readonly="readonly" disabled="disabled">
<hr>
<input type="submit">
</form>
</body>
</html>
示例:
6.3.2 单选按钮
常用属性:
- name名称:多个radio得name属性
- value值
- checked:是否被选中,两种状态,选中,未选中
checked=“checked”
简写checked
6.3.3 复选框
常用属性与单选按钮radio类似
6.3.4 文件选择器
常用属性:
-
name:名称
-
accept设置可选择的文件类型,用来限制上传的文件类型
使用MIME格式字符串对资源类型进行限制
常见的MIME类型:
- 纯文本:text/plain text/xml text/html
- 图像:image/png image/jpeg image/gif
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h2>用户注册</h2>
<form action="" method="get" enctype="multipart/form-data">
用户名:<input type="text" name="usr_name" value="张无忌">
<br>
密 码:<input type="password" name="pwd" >
<br>
年 龄:<input type="text" name="age" value="18" enabled>
<br>
性 别:<input type="radio" name="sex" value="male" >男
<input type="radio" name="sex" value="fmale" checked>女
<br>
爱好: <input type="checkbox" name="hobby" value="eat" checked>吃饭
<input type="checkbox" name="hobby" value="sleep">睡觉
<input type="checkbox" name="hobby" value="doudou">打豆豆
<hr>
头像: <input type="file" name="head" accept="image/png">
<input type="hidden" name="usr_id" value="8888">
<br>
<input type="submit" value="注 册">
<input type="reset" value="重 置">
<hr>
<input type="image" src="../../image/submit.gif">
<input type="image" src="../../image/reset.gif">
<hr>
<input type="button" value="普通按钮">
</form>
</body>
</html>
示例:
6.4 特殊表单元素
表单元素 | 含 义 | 说 明 |
---|---|---|
select | 下拉列表 | |
option | 列表选项 | |
optgroup | 选项组 | 用来对option进行分组 |
textarea | 文本域/多行文本框 | 用来创建一个多行文本框 |
6.4.1 下拉列表
select常用属性:
- name名称
- size行数,同时显示多个选项
- multiple允许同时选择多个
option常用属性:
- value选项值
- selected设置默认选中项
optgroup常用属性:
- label分组的标签
6.4.2 文本域
- name名称
- rows行数
- cols列数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="">
学 历:
<select name="degree">
<option value="0">请选择你的学历</option>
<option value="dazhuan">大专</option>
<option value="benke" selected>本科</option>
<option value="yanjiusheng">研究生</option>
<option value="shuoshi">硕士</option>
</select>
<br>
城 市:
<select name="city">
<optgroup label="山西省">
<option value="taiyuan">太原</option>
<option value="datong">大同</option>
<option value="changzhi">长治</option>
</optgroup>
<optgroup label="山东省">
<option value="jinan">济南</option>
<option value="qingdao">青岛</option>
<option value="rizhao">日照</option>
</optgroup>
<optgroup label="江苏省">
<option value="nanjing">南京</option>
<option value="shanghai">苏州</option>
<option value="shanghai">扬州</option>
</optgroup>
</select>
<br>
服务协议:
<textarea name="introduce" rows="10" cols="100" readonly>
请遵守本网站的相关协议和国家的法律法规...
请遵守本网站的相关协议和国家的法律法规...
请遵守本网站的相关协议和国家的法律法规...
请遵守本网站的相关协议和国家的法律法规...
请遵守本网站的相关协议和国家的法律法规...
请遵守本网站的相关协议和国家的法律法规...
</textarea>
<hr>
<input type="submit" value="提 交">
</form>
</body>
</html>
示例:
6.5 其他标签
6.5.1 label标签
为表单元素提供标签,当选中label标签中的文本内容时会自动将光标切换到与之相关联的表单元素
常用属性:
- for必须将该属性值设置为与相关联的表单元素的Id属性值相同
注:几乎所有HTML标签都具有id属性,且id值必须唯一
6.5.2 button标签
也表示按钮,与input按钮类似
语法:
<button type="按钮类型">按钮文字或图像</button>
常用属性:
- type按钮的类型,取值: submit(默认)、reset、button
6.5.3 fieldset和legend标签
fieldset标签,对表单元素进行分组
legend标签,对分组添加标题
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<label for="name">用户名</label>
<input type="text" name="usrname" id="name"><br>
<label for="email">邮 箱:</label>
<input type="text" name="email" id="email"><br>
<hr>
<input type="submit" value="提交按钮">
<input type="reset" value="重置按钮">
<input type="image" src="submit.gif">
<input type="button" value="普通按钮">
<hr>
<button type="submit">提交按钮</button>
<button type="reset">重置按钮</button>
<button type="button">普通按钮</button>
<button><img src="../../image/submit.gif" alt=""></button>
<hr>
<fieldset>
<legend>院校信息</legend>
学号:<input type="text" name="stuId"><br>
学校:<input type="text" name="sutSchool"><br>
专业:<input type="text" name="stuMajor"><br>
</fieldset>
</body>
</html>
示例:
七、内嵌框架
7.1 简介
使用iframe可以在一个页面中引用另一个页面,实现复用、灵活
7.2 基本语法
语法:
<iframe src=""></iframe>
常用属性:
- src:引用的页面
- width/height宽度/高度 ,像素或百分比
- frameborder是否显示边框,取值:1(yes) 0(no)—默认
- scrolling是否显示滚动条,取值:yes no auto
- name属性 为框架定义名称
7.3 在框架中打开链接
<iframe name="hello"></iframe>
<a href="链接地址" target="hello">链接的文本或图像</a>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<!-- <ul>
<li>网页</li>
<li>咨询</li>
<li>视频</li>
<li>图片</li>
<li>知道</li>
<li>贴吧</li>
<li>采购</li>
<li>地图</li>
</ul> -->
<iframe src="top.html" width="100%" height="100px" frameborder="0" scrolling="auto"></iframe>
<h3>主体部分</h3>
<br>
<a href="01.表格.html" target="hello">01.html</a>
<a href="02.合并单元格.html" target="hello">02.html</a>
<br>
<!-- <ul>
<li>网页</li>
<li>咨询</li>
<li>视频</li>
<li>图片</li>
<li>知道</li>
<li>贴吧</li>
<li>采购</li>
<li>地图</li>
</ul> -->
<iframe src="./foot.html" width="600px" height="600px" frameborder="0" name="hello"></iframe>
</body>
</html>
示例:
八、HTML5简介
8.1 发展
W3C于1992年12月发布了HTML4.0.1标准
W3C于2014年10月发布了HTML5标准
8.2 特点
- 取消了过时的标签,如font、center等,它们仅具有展示外观的功能
- 增加了一些更具有语义化的标签,如header、footer、aside等
- 增加了一些新功能标签,如canvas、audio、video
- 增加了一些表单控件,如email、date、time、url、search等
- 可以直接在浏览器中绘画(canvas),无需flash
- 增加了本地存储的支持
8.3 兼容性
http://caniuse.com
提供了各种浏览器版本对HTML5和CSS规范的支持度
九、HTML5新增内容
9.1 结构相关的标签
用来进行页面结构布局,本身无任何特殊样式,需要使用CSS进行样式设置
- article定义一个独立的内容,完整的文章
- section定义文档的章节、段落
- header文章的头部、页眉、标题
- footer文章的底部、页脚、标注
- aside定义侧边栏
- figure图片区域
- figcaption为图片区域定义标题
- nav定义导航菜单
结构标签只是表明各部分的角色,并无实际的外观样式,与普通div相同
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<article>
<header>标题</header>
<section>
第一段
</section>
<section>
第二段
</section>
<footer>脚注</footer>
</article>
<aside>广告</aside>
<figure>
<figcaption>log</figcaption>
<img src="../../image/dacebook.png" alt="">
<img src="../../image/google.png" alt="">
</figure>
<nav>
<ul>
<li>网页</li>
<li>咨询</li>
<li>视频</li>
<li>图片</li>
<li>知道</li>
<li>贴吧</li>
<li>采购</li>
<li>地图</li>
</ul>
</nav>
</body>
</html>
示例:
9.2 语义相关的标签
9.2.1 mark标签
标注,用来突出显示文本,默认添加黄色背景
9.2.2 time标签
定义日期和时间,便于搜索引擎智能查找
9.2.3 details和 ummary标签
默认显示summary中的内容,点击后显示details中的内容
9.2.4 meter标签
计数仪,表示度量
常用属性:
- max:定义最大值,默认为1
- min:定义最小值,默认为0
- value:定义当前值
- high:定义限定为高的值
- low:定义限定为低的值
- optimum:定义最佳值
规则:
-
如果optimum大于high,则表示值越大越好
当value大于high时为绿色
当value在low与high之间时为黄色
当value小于low时为红色
-
如果optimum小于low,则表示值越小越好
当value小于low时为绿色
当value在low与high之间时为黄色
当value大于high时为红色
-
当optimum介于low和high之间,则表示值在low和high之间最好
当value在low与high之间时显示绿色,否则显示黄色
9.2.5 progress标签
进度条,表示运行中的进度
常用属性:
- value定义当前值
- max定义完成的值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
welcome <mark>to</mark> html!
<hr>
我在<time datetime="2020-2-14">情人节</time>有个会!
<hr>
<details>
<summary>HTML简介</summary>
<p>HTML是一门用来制作网页的标签语言</p>
<p>HTML可以包含文本、图像、音频、视频等各种多媒体信息</p>
</details>
<meter max="100" min="1" value="30"></meter>
<hr>
<meter max="100" min="1" value="90" high="60" low="20" optimum="10"></meter>
<hr>
<meter max="100" min="1" value="90" high="60" low="20" optimum="65"></meter>
<meter max="100" min="1" value="30" high="60" low="20" optimum="65"></meter>
<meter max="100" min="1" value="10" high="60" low="20" optimum="65"></meter>
<hr>
<meter max="100" min="1" value="10" high="60" low="20" optimum="15"></meter>
<meter max="100" min="1" value="65" high="60" low="20" optimum="15"></meter>
<meter max="100" min="1" value="40" high="60" low="20" optimum="15"></meter>
<meter max="100" min="1" value="15" high="60" low="20" optimum="15"></meter>
<hr>
<meter max="100" min="1" value="15" high="60" low="20" optimum="35"></meter>
<meter max="100" min="1" value="70" high="60" low="20" optimum="35"></meter>
<meter max="100" min="1" value="40" high="60" low="20" optimum="35"></meter>
<hr>
<progress value="10" max="50"></progress>
</body>
</html>
示例:
9.3 表单相关
9.3.1 新增表单元素
新增以下type类型:
- email接收邮箱
- url接收URL
- tel接收电话号码,目前仅在移动设备上有效
- search搜索文框
- number/range接收数字/数字滑块,包含min,max,step属性
- date/month/week/time/datetime日期时间选择器,兼容性不好
- color颜色拾取
作用:
- 具有格式校验的功能
- 可以与移动设备的键盘相关联
9.3.2 新增表单属性
form标签的属性:
- autocomplete是否启动表单的自动完成功能, 取值:on(默认)、offff
- novalidate提交表单时不进行校验,默认会进行表单校验
9.3.3 新增表单元素的属性
新增表单元素属性:input/select/textarea等
- placeholder提示文字
- required是否必填
- autocomplete是否启用该表单元素的自动完成功能
- autofocus设置初始焦点元素
- pattern使用正则表达式(RegExp后面会讲解),进行数据校验
- list使文本元素具有下拉列表的功能,需要配合datalist和option标签一起使用
- form可以将表单元素写在form标签外面,然后通过该属性关联指定的表单
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="" autocomplete="on" id="myform">
<label for="email">邮箱:</label>
<input type="text" name="email" id="email" placeholder="请输入邮箱">
<br>
<label for="home">个人主页:</label>
<input type="url" name="home" id="home" placeholder="请输入个人主页">
<br>
<label for="phone">电话:</label>
<input type="tel" name="phone" id="phone" placeholder="请输入电话">
<br>
<label for="keywords">关键字:</label>
<input type="search" name="keywords" id="keywords" placeholder="请输入关键字">
<br>
<label for="num">数字:</label>
<input type="range" name="num" id="num" min="1" max="10" step="2" placeholder="请输入数字">
<br>
<label for="borthday">出生日期:</label>
<input type="datetime" name="borthday" id="borthday" placeholder="请输入出生日期">
<br>
<label for="color">颜色:</label>
<input type="color" name="color" id="color">
<br>
<label for="name">用户名:</label>
<input type="text" name="usrname" id="name" placeholder="请输入用户名" required="" autocomplete="off" autofocus="">
<br>
<label for="age">年龄</label>
<input type="text" name="afr" id="age" pattern="\d{1,2}">
<!-- 年龄只允许输入1-2位数字 -->
<br>
<label for="ciyt">城市</label>
<input type="text" name="ciyt" id="ciyt" autocomplete="off" list="cityList">
<datalist id="cityList">
<option value="beijing">北京</option>
<option value="shenzhen">深圳</option>
<option value="shanghai">上海</option>
<option value="guangzhou">广州</option>
</datalist>
</form>
<hr>
<input type="submit" form="myform">
</body>
</html>
示例:
9.4 多媒体标签
9.4.1 audio标签
在页面中插入音频,不同的浏览器对音频格式的支持不一样
audio常用属性:
- src音频文件的来源
- controls是否显示控制面板,默认不显示
- autoplay是否自动播放,默认不自动播放
- loop是否循环播放
- muted是否静音
- preload是否预加载,取值:none不预加载、auto预加载(默认)、metadata只加载元数据,如果设置了autoplay属性,则该属性无效
可以结合source标签使用,指定多个音频文,浏览器会检测并使用第一个可用的音频文件
9.4.2 video标签
在页面中插入视频,不同的浏览器对视频格式的支持不一样
用法与audio标签基本相同,增加属性:
- widht/height视频播放器的宽度/高度
- poster在视频加载前显示的图片
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<!-- <audio src="../../audio/water.mp3" controls="" autoplay="" loop="" muted="" preload="metadeta"></audio> -->
<audio controls="">
<source src="../../audio/earth.ogg">
<source src="../../audio/water.mp3">
您的浏览器不支持audio标签,请更换浏览器
</audio>
<video src="../../video/volcano.mp4" controls="" width="400px" poster="../../image/p1.jpg"></video>
</body>
</html>
示例:
北京 深圳 上海 广州
```
示例:
[外链图片转存中…(img-lX06B16p-1593495995546)]
9.4 多媒体标签
9.4.1 audio标签
在页面中插入音频,不同的浏览器对音频格式的支持不一样
audio常用属性:
- src音频文件的来源
- controls是否显示控制面板,默认不显示
- autoplay是否自动播放,默认不自动播放
- loop是否循环播放
- muted是否静音
- preload是否预加载,取值:none不预加载、auto预加载(默认)、metadata只加载元数据,如果设置了autoplay属性,则该属性无效
可以结合source标签使用,指定多个音频文,浏览器会检测并使用第一个可用的音频文件
9.4.2 video标签
在页面中插入视频,不同的浏览器对视频格式的支持不一样
用法与audio标签基本相同,增加属性:
- widht/height视频播放器的宽度/高度
- poster在视频加载前显示的图片
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<!-- <audio src="../../audio/water.mp3" controls="" autoplay="" loop="" muted="" preload="metadeta"></audio> -->
<audio controls="">
<source src="../../audio/earth.ogg">
<source src="../../audio/water.mp3">
您的浏览器不支持audio标签,请更换浏览器
</audio>
<video src="../../video/volcano.mp4" controls="" width="400px" poster="../../image/p1.jpg"></video>
</body>
</html>
示例:
链接:https://pan.baidu.com/s/1puoqN7qvFeXulQdFFErTIw
提取码:nviw