HTML简介
HTML,全称叫超文本标记语言,英文名是Hyper Text Markup Language
,是一种标记语言。 它包含了一系列具有描述性标记的标签(Tag,也可叫标记),通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体,形成一个可供用户进行浏览、交互的优美页面。比如有可以描述段落
,图片
,文字
,音频
,视频
,表格
,链接
等的标签
总之一句话,HTML是用来设计网页的布局结构的。
an1.基本结构
-
<!DOCTYPE html>
: 声明该文档是HTML5文档,固定写法。 必须放在首行 -
<html>
: HTML的根标记(根元素),该标记在文档中只能有且只有一个。 -
根标记中通常有两个子标记,分别是
<head>
和<body>
-
<head>
标记: 进行网页meta的设置(规定字符集等),定义标题,引入css文件,js文件,或者编写style和javascript代码等,可以添加在头部区域的元素标签为:<title>
,<style>
,<meta>
,<link>
,<script>
,<noscript>
和<base>
。 -
body标记: 用来定义网页的可见内容。
-
<!DOCTYPE html> <!---第一行代码是HTML5的声明,固定写法,必须放在首行--->
<!-- 注释的快捷键: ctrl+ / (斜杠)
html是整个页面的根标记,有且只有一个。
是一个双标记-->
<html>
<!-- head标记是html的子标记,有且只有一个,用来设置网页的元数据,
比如字符集,标签页主题,引入第三方文件
-->
<head>
<title>第一个HTML页面</title>
</head>
<!-- 网页中能看懂的整个布局,都是在body标记里面写 -->
<body>
HTML的学习:我是佳耳
</body>
</html>
2.实体
HTML and XHTML 预留了一些字符,您不能使用包含这些字符的文本,因为浏览器可能会误以为是 HTML 标签。比如在文字中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签。如果希望正确地显示预留字符,我们必须在HTML源代码中使用字符实体(character entities)。
字符实体类似这样:
&entity_name;或&#entity_number;
常用实体如下:
3.meta元素
meta元素描述了一些基本的元数据。元数据不显示在页面上,但会被浏览器解析。比如指定网页的描述,关键词,文件的最后修改时间,作者,和其他元数据。
为搜索引擎定义关键词:
<meta name="keywords" content="HTML, CSS, XML, XHTML, JavaScript">
为网页定义描述内容:
<meta name="description" content=" Web & 编程 笔记">
定义网页作者:
<meta name="author" content="michael">
每30秒钟刷新当前页面:
<meta http-equiv="refresh" content="30">
<meta http-equiv="refresh" content="3;url=https://www.baidu.com">
规定字符集:
<meta charset="utf-8">
4.基础标签
4.1 标题标签
-
标题(Heading)是通过
<h1>
-<h6>
标签进行定义的。 -
<h1>
定义最大的标题。<h6>
定义最小的标题。 -
浏览器会自动地在标题的前后添加空行,属于块级元素。
-
代码演示如下:
<body> <h1>这是标题 1</h1> <h2>这是标题 2</h2> <h3>这是标题 3</h3> <h4>这是标题 4</h4> <h5>这是标题 5</h5> <h6>这是标题 6</h6> </body>
4.2 段落标签
-
HTML 可以将文档分割为若干段落。
-
段落是通过
<p>
标签定义的。 -
浏览器会自动地在段落的前后添加空行。属于块级元素
-
代码演示如下:
<body> <p>这是一个段落。</p> <p>这是一个段落。</p> <p>这是一个段落。</p> </body>
4.3 换行标签
-
如果您希望在不产生一个新段落的情况下进行换行(新行),请使用
<br>
标签 -
<br>
标签对于写地址或诗歌非常有用。 -
<br/>
元素是一个空的 HTML 元素,也就是自结束标签。在XHTML中,强制写斜杠的。 -
代码演示如下:
<body>
<p>
十年生死两茫茫,<br>
不思量,<br>
自难忘。<br>
</p>
</body>
4.4 HTML水平线
<hr>
标签在 HTML 页面中创建水平线,可用于分隔内容。
案例代码:
<body>
<p>hr 标签定义水平线:</p>
<hr />
<p>这是段落。</p>
<hr />
<p>这是段落。</p>
<hr />
<p>这是段落。</p>
</body>
4.5 图像标签
-
使用
<img/>
标签可以在网页上插入图片 -
从技术上讲,实际上并没有将图像插入到网页中,而是将图像链接到了网页。
-
<img/>
标签是一个单标记,自结束标记, 名字后面带有斜杠 -
<img/>
标签的常用属性如下: -
属性 作用 src 用于书写图片的引用路径,可以是本地路径,也可以是网络路径 alt 如果由于某种原因无法显示图像,则指定图像的替代文本。 该属性主要用于搜索引擎 width 图片的宽 height 图片的高 案例代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>图片标签的学习</title> </head> <!-- 图片标签: img 单标记,不是块级元素,是内联元素(行内元素)。 作用:在网页上插入一张图片 属性: src: 用于书写图片的具体位置(网络上的一张图片,也可以是本地磁盘上的一张图片) alt: 给搜索引擎使用的。图片的替代文字 width:图片的宽 height:图片的高 注意事项:如果只设置宽或高中的一个属性,图片会照比原图等比例缩放--> <body> <h1>引入网络中的一张图片</h1> <img src="https://img2.baidu.com/it/u=3090674044,2699408425&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=800" alt="坂田银时" width="600" height="600"> <h1>引入本地磁盘上的一张图片</h1> <!-- 路径的写法:有两种,相对路径和绝对路径 相对路径: 相对的是当前文件所在的文件夹 当前文件夹,当前文件夹的表示方式 ./ 注意: ./可以省略 ../ 返回上一级文件夹 绝对路径:一般指的就是项目的根或者是磁盘的盘符开始写 --> <!-- 如果使用了live server插件,那么绝对路径的根就不是磁盘盘符, 而是当前VSCODE的工作空间,如果没有使用就从磁盘盘符开始写 --> <img src="images\1.jpg" alt="狗卷"> <!-- 绝对路径 --> <img src="D:\A实训资料\01-HTML&&CSS\code\images\2.jpg" alt="佳耳"> </body> </html>
4.6 超链接标签
超链接,就是在一个网页上点击后,可以跳转到另一个网页,或者是本网页的其他位置。
-
超链接的标签是
<a>
-
<a>
是一个双标记,标签内容体可以是文本,也可以是图像 -
<a>
的属性如下:
属性 | 重要性 | 描述 |
href | 必需 | 指令链接目标的URL。可以是另一个页面,也可以是本页面的其他位置 |
title | 可选 | 鼠标悬停在超链接上时显示的内容 |
target | 可选 | 指定链接如何在浏览器中打开,常用值如下: _blank : 在新标签页打开链接 _self : 在当前标签页打开链接 |
rel | 可选 | 规定当前文档和被链接文档之间的关系。 |
案例代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>超链接的学习</title>
</head>
<!-- 超链接:a标记,双标记,超链接指的就是点击后跳转到另一个页面或者本页面的其他位置
href: 与图片的src相似,就是书写目的地的路径
title:鼠标悬停在超链接上时显示的内容
target:去往目的地时,使用新标签页还是本页面
值1:_blank 新标签页打开
值2:_self 本标签页打开
默认样式:参考笔记
-->
<body>
<h1>文字链接</h1>
<a href="https://www.runoob.com">点我前往菜鸟教程网站</a>
<h1>图片链接</h1>
<a href="https://www.vip.com" title="跳转到唯品会官网" target="_blank">
<img src="images/2.jpg" alt="图片2" width="600">
</a>
<h1>锚点链接:跳转到本页面的某一个位置</h1>
<!--
href的值,必须是#开头,如果只有#表示跳转到当前页面最顶端
如果是#配合id值,则是跳转到id值所在位置
因此目标位置,应该设置id值
-->
<a href="#c7">点我跳转到章节7</a>
<h1> 章节1</h1>
<p> 段落的内容</p>
<h1> 章节2</h1>
<p> 段落的内容</p>
<h1> 章节3</h1>
<p> 段落的内容</p>
<h1 id="c4"> 章节4</h1>
<p> 段落的内容</p>
<h1> 章节5</h1>
<p> 段落的内容</p>
<h1> 章节6</h1>
<p> 段落的内容</p>
<h1 id="c7"> 章节7</h1>
<p> 段落的内容</p>
<h1> 章节8</h1>
<p> 段落的内容</p>
<h1> 章节9</h1>
<p> 段落的内容</p>
<h1> 章节10</h1>
<p> 段落的内容</p>
<h1> 章节11</h1>
<p> 段落的内容</p>
<h1> 章节12</h1>
<p> 段落的内容</p>
<h1> 章节13</h1>
<p> 段落的内容</p>
<h1 id="c14"> 章节14</h1>
<p> 段落的内容</p>
<h1> 章节15</h1>
<p> 段落的内容</p>
<h1> 章节16</h1>
<p> 段落的内容</p>
<a href="#">回到最顶端</a>
</body>
</html>
4.7 按钮标签
<button>
标签定义一个按钮。
在 <button>
元素内部,您可以放置内容,比如文本或图像。这是该元素与使用 <input>
元素创建的按钮之间的不同之处。
提示:请始终为 <button>
元素规定 type 属性。不同的浏览器对<button>
元素的 type 属性使用不同的默认值。
案例代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>按钮button的学习</title>
</head>
<body>
<!-- 基本按钮标签 button,双标记。内容体里可以放入文字或者图片
建议:添加type属性,指定属性值为button -->
<button type="button" onclick="alert('你好')">
点我提示你好</button>
<br>
<button type="button"onclick="alert('世界')"><img src="images/1.jpg" alt="狗卷" width="600"></button>
</body>
</html>
5.格式化标签
以下是一些常用的文本格式化标签:
-
<strong>
加重语气的的文本 -
<b>
加粗,bold的意思 -
<em>
斜体效果,强调作用 -
<i>
斜体效果itatic -
<pre>
预格式化文本 -
<small>
更小的文本 -
<code>
用于存放计算机代码 -
<bdo>
文字显示的方向 -
<blockquote>
引用标签 -
<q>
双引号标签 -
<del>
删除文本 -
<ins>
插入文本 -
<sub>
下标文本 -
<sup>
上标文本<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <h1>强调,加粗</h1> <p>hihi <strong>泥嚎</strong> 你今天也很<b>棒</b></p> <h1>斜体</h1> <p>日照<em>香炉</em>生紫烟,遥看<i>瀑布</i>挂前川</p> <h1>代码</h1> <code> System.out.println("hello world"); </code> <h1>预格式化标签pre</h1> <pre> <!-- 在pre里面怎么写的运行出来之后就是怎么样的 --> 你好! 前面有三个空格 这是第二行 这是第三行 前面有三个空格 </pre> <h1>bdo改变文字方向</h1> <bdo dir="rtl">你好</bdo> <h1>引用 双引号</h1> <p>咏鹅<blockquote>--骆宾王</blockquote>鹅鹅鹅,曲项向天<q>歌</q>; 白毛浮绿<sub>水</sub>, 红掌拨清<sup>波</sup>。 </p> </body> </html>
6.列表标签
HTML支持无序、有序和定义列表
6.1 无序列表
-
无序列表是一个项目的列表,列表项使用粗体圆点(典型的小黑圆圈)进行标记。
-
无序列表使用
<ul>
标签,列表项使用<li>
标签 -
案例代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>无序列表的学习</title> </head> <body> <h1>无序列表</h1> <!-- - 无序列表是一个项目的列表, 列表项使用粗体圆点(典型的小黑圆圈)进行标记。 无序列表使用<ul>标签, 列表项使用<li>标签 --> 东三省的名称: <ul> <li>吉林省</li> <li>辽宁省</li> <li>黑龙江省</li> </ul> </body> </html>
6.2 有序列表
-
同样,有序列表也是一列项目,列表项使用数字进行标记。
-
有序列表始于
<ol>
标签。每个列表项始于<li>
标签。
案例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>有序列表的学习</title>
</head>
<body>
<h1>有序列表</h1>
<!-- ol>li*5(快捷键) -->
<!-- 运行后有排序的,从1-5 -->
<ol>
<li>吕布</li>
<li>赵云</li>
<li>典韦</li>
<li>关羽</li>
<li>马超</li>
</ol>
<hr>
<h1>列表的嵌套</h1>
学校排名
<ul>
<li>1班
<ol>
<li>银时</li>
<li>神乐</li>
<li>新八</li>
</ol>
</li>
<li>2班
<ol>
<li>小z</li>
<li>小乖</li>
<li>小宝</li>
</ol>
</li>
<li>3班
<ol>
<li>嘟嘟</li>
<li>雪碧</li>
<li>福宝</li>
</ol>
</li>
</ul>
</body>
</html>
6.3 自定义列表
-
自定义列表不仅仅是一列项目,而是项目及其注释的组合。
-
自定义列表以
<dl>
标签开始。每个自定义列表项以<dt>
开始。每个自定义列表项的定义以<dd>
开始。
案例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>自定义列表的学习</title>
</head>
<body>
<h1>自定义列表</h1>
<!-- 自定义列表不仅仅是一列项目,而是项目及其注释的组合。
自定义列表以<dl>标签开始。
每个自定义列表项以<dt>开始。
每个自定义列表项的定义以<dd>开始。 -->
<dl>
<dt>北京</dt>
<dd>中国的首都</dd>
<dt>深圳</dt>
<dd>经济发达的城市</dd>
<dt>杭州</dt>
<dd>近几年发展很快</dd>
</dl>
</body>
</html>
7.表格标签
7.1 表格介绍
表格是一种用于展示结构化数据的标记语言元素。每个表格均有若干行,每行被分割为若干单元格,表格可以包含标题行(俗称表头),用于定义列的标题。
数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。
在过去也应用于页面的布局上,但是现在一般都使用<div>
标签做页面的布局了。
HTML 表格还支持合并单元格和跨行/跨列的操作,以及其他样式和属性的应用,以满足各种需求。我们也可以使用 CSS 来进一步自定义表格的样式和外观。
7.2标签说明
<table>
元素表示整个表格,在整体上可以分成四个部分:<caption>
,<thead>
,<tbody>
和 <tfoot>
-
<caption>
为整个表格定义主题 -
<thead>
表格头部部分(也称表格页眉)。-
<th>
在<thead>
中使用<th>
元素定义每一列的标题,有加粗效果,与普通单元格区分开来。(table header)
-
-
<tbody>
表格主体部分-
<tr>
在<tbody>
中使用<tr>
元素定义行(table row 的缩写) -
<td>
在<tr>
中使用<td>
元素定义单元格数据( table data 的缩写)
-
-
<tfoot>
可用于在表格的底部定义摘要、统计信息等内容
7.3案例演示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<!-- 表格:一般用于标记结构化的数据,有行有列。每一行都有标题
过去也用表格做页面的整体布局,但是现在不用了,采用div代替 -->
<!-- border: 表的外边框 10像素宽
cellspacing: 单元格之间的距离
cellpadding: 内容区距离单元格边框的距离
align: 表格整体的位置 center(居中) left(靠左) right(靠右)
width: 表格整体的宽度 可以是具体像素,也可以是屏幕的百分比 -->
<body>
<table border="1px" cellspacing = "0px" width="80%" cellpadding="5px" align="center">
<caption>学生信息</caption>
<!-- 表头 -->
<thead>
<!-- tr规定行 -->
<tr>
<!-- 表头用的单元格 th*4-->
<th>序号</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
</tr>
</thead>
<!-- 表体 -->
<tbody>
<tr >
<td>1</td>
<td>坂田银时</td>
<td>27</td>
<td>男</td>
</tr>
<tr>
<td>2</td>
<td>志村新八</td>
<td>17</td>
<td>男</td>
</tr>
<tr>
<td>3</td>
<td>神乐</td>
<td>16</td>
<td>女</td>
</tr>
</tbody>
<!-- 表尾 -->
<tfoot>
<tr>
<td>统计</td>
<td>统计</td>
<td>统计</td>
<td>统计</td>
</tr>
</tfoot>
</table>
</body>
</html>
8.表单标签
8.1 表单介绍
HTML 表单用于收集用户的输入信息。
HTML 表单表示文档中的一个区域,此区域包含交互控件,将用户收集到的信息发送到 Web 服务器。
HTML 表单通常包含各种输入字段、复选框、单选按钮、下拉列表等元素。 这些元素也都被称为控件元素
8.2 标签介绍
-
<form>
元素用于创建表单,action
属性定义了表单数据提交的目标 URL,method
属性定义了提交数据的 HTTP 方法(这里使用的是 "post")。 -
<label>
元素用于为表单元素添加标签,提高可访问性。 -
<input>
元素是最常用的表单元素之一,它可以创建文本输入框、密码框、单选按钮、复选框等。type
属性定义了输入框的类型,id
属性用于关联<label>
元素,name
属性用于标识表单字段。 -
<select>
元素用于创建下拉列表,而<option>
元素用于定义下拉列表中的选项。 -
<textarea>
元素用于创建文本域(多行文本输入控件),可写入字符的字数不受限制。
9.div
-
HTML
<div>
元素是块级元素,可以认为他是其他 HTML 元素的容器。 -
<div>
元素没有特定的含义。 -
它属于块级元素,浏览器会在其前后显示折行。
-
<div>
元素最常见的用途就是页面布局了。它取代了使用表格定义布局的老式方法。 -
<div>
元素配合CSS,可以对大的内容块设置样式属性
我们在CSS章节,来详细讲<div>
的样式属性设计
10.音频标签
<audio>
标签定义声音,比如音乐或其他音频流。
目前,<audio>
元素支持的3种文件格式:MP3、Wav、Ogg。
浏览器 | MP3 | Wav | Ogg |
Internet Explorer | YES | NO | NO |
Chrome | YES | YES | YES |
Firefox | YES | YES | YES |
Safari | YES | YES | NO |
Opera | YES | YES | YES |
<audio>属性如下:
属性 | 值 | 描述 |
src | URL | 规定音频文件的 URL。 |
autoplay | autoplay | 如果出现该属性,则音频在就绪后马上播放。 |
controls | controls | 如果出现该属性,则向用户显示音频控件(比如播放/暂停按钮)。 |
loop | loop | 如果出现该属性,则每当音频结束时重新开始播放。 |
muted | muted | 如果出现该属性,则音频输出为静音。 |
preload | auto metadata none | 规定当网页加载时,音频是否默认被加载以及如何被加载。 |
11.视频标签
<video>
标签定义视频,比如电影片段或其他视频流。目前,<video>
元素支持三种视频格式:MP4、WebM、Ogg。
浏览器 | MP4 | WebM | Ogg |
Internet Explorer | YES | NO | NO |
Chrome | YES | YES | YES |
Firefox | YES 从 Firefox 21 版本开始 Linux 系统从 Firefox 30 开始 | YES | YES |
Safari | YES | NO | NO |
Opera | YES 从 Opera 25 版本开始 | YES | YES |
-
MP4 = MPEG 4文件使用 H264 视频编解码器和AAC音频编解码器
-
WebM = WebM 文件使用 VP8 视频编解码器和 Vorbis 音频编解码器
-
Ogg = Ogg 文件使用 Theora 视频编解码器和 Vorbis音频编解码器
<video>的属性
属性 | 值 | 描述 |
src | URL | 要播放的视频的URL。 |
autoplay | autoplay | 如果出现该属性,则视频在就绪后马上播放。 |
controls | controls | 如果出现该属性,则向用户显示控件,比如播放按钮。 |
height | pixels | 设置视频播放器的高度。 |
width | pixels | 设置视频播放器的宽度。 |
loop | loop | 如果出现该属性,则当媒介文件完成播放后再次播放。 |
muted | muted | 如果出现该属性,视频的音频输出为静音。 |
poster | URL | 规定视频正在下载时显示的图像,直到用户点击播放按钮。 |
preload | auto metadata none | 如果出现该属性,则视频在页面加载时进行加载,并预备播放。如果使用"autoplay",则忽略该属性。 |