HTML:HTML基础
HTML
1. 什么是 HTML?
Hyper Text Markup Language(超文本编辑语言)
超文本主要包括:文字、图片、音频、视频、动画等。
HTML5 是目前网页中常用的最新的版本,提供了一些新元素和新特性,同时也建立了一些新规则,被认为是互联网的核心技术之一。
2. 什么是 W3C 标准
World Wide Web Consortium(万维网联盟),又称 W3C理事会,是万维网的主要国际标准组织,同时也是 Web 技术领域最具权威和影响力的国际中立性技术标准机构。
W3C 标准包括三个方面
- 结构化标准语言:HTML、XML
- 表现标准语言:CSS
- 行为标准语言:DOM、ECMAScript(即 JavaScript)
3. 常见的 IDEA
记事本、Dreamweaver、Intellij IDEA、VSCode、WebStorm、HBuilder 等等,在接下来的测试中使用 HBuilder 进行学习。
4. HTML 的基本结构
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
</body>
</html>
-
<!DOCTYPE html>声明为 HTML5 文档。 -
<html></html>组成闭合标签,可以成为双标签元素,由开始标签(被括号包围的元素名)<html>和结束标签(被括号包围的斜杠和元素名)</html>组成,部分 HTML 元素没有结束标签,比如<br/>,称为单标签元素。该 HTML 标签内的所有内容为完整的 HTML页面。 -
<head></head>组成闭合标签,为网页的头部元素,包含文档的元数据,在网页界面中不显示内容。 -
<meta/>单标签,也可以叫自闭和标签,提供页面的元信息,比如针对搜索引擎和更新频度的描述和关键词,位于文档的头部<head></head>。自闭和标签中的斜杠可以省略。 -
<meta charset="utf-8" />定义网页的编码格式为 utf-8,防止在浏览器中出现中文乱码的问题。 -
<title></title>定义网站的标题内容 -
<body></body>组成闭合标签,为网页的主体元素,用来编辑网页界面中的内容。
5. 网页的基本标签
5.1 注释
<!-- 注释内容 --> 用于对代码进行注释,方便开发人员理解代码,被注释掉的内容不会出现在网页中,可以进行多行注释。
<!-- 单行注释 -->
<!--
多行注释1
多行注释2
-->
5.2 标题
由 h1-h6 元素标签定义标题,h1 标题最大,h6 标题最小。
<body>
<h1>一级标题</h1>
<h2>二级标题</h2>
<h3>三级标题</h3>
<h4>四级标题</h4>
<h5>五级标题</h5>
<h6>六级标题</h6>
</body>
运行结果

5.3 段落
HTML 不同于 Word、记事本等文本编辑软件,无法直接分段显示,可以通过使用 <p></p> 标签来定义段落。
<body>
<!-- 无法直接分段显示 -->
这是第一段文字
这是第二段文字
<p>这是第一段文字</p>
<p>这是第二段文字</p>
</body>
运行结果

5.4 换行
HTML 不同于 Word、记事本等文本编辑软件,无法直接通过 Enter 换行键进行换行,可以通过使用 <br/> 标签进行换行。
<body>
这是第一行文字<br />
这是第二行文字<br>
这是第三行文字
</body>
运行结果

可以发现换行的行间距和段落的行间距是不一样的。
5.5 水平线
可以通过使用 <hr/>标签进行换行,默认占网页的一整行长度,因此标签前后的文字会上下隔开。
<body>
这是第一行文字<hr />
这是第二行文字<hr>
这是第三行文字
</body>
运行结果

5.6 字体样式
<strong></strong> 标签设置文字加粗,<em></em> 标签设置文字为斜体。
<body>
<b>这是一种加粗文字</b><br />
<strong>这是另一种加粗文字</strong>
<br />
<em>这是一行斜体文字</em>
</body>
运行结果

5.7 特殊符号
在 HTML 中,无论敲多少个空格键,在网页中都只显示一个空格位置,如果要定义多个空格,就需要用到空格的转义字符 来代替。下面展示一些常用的转义字符,更多转义字符可以自行百度或者点 HTML特殊字符符号大全 查看
<body>
普通空格:登 录<br>
特殊空格:登 录<br>
小于号:<<br>
大于号:><br>
& 用于显示其他特殊字符:&<br>
注册:®<br>
版权:©<br>
商标:™
</body>
运行结果

5.8 图片
若要在网页中显示一张图片,可以使用 <img/>标签来实现,该标签中包含了一些常用的属性。
-
首先先在项目中添加一个文件夹,命名为 img 文件夹(如果使用的是一个单独的 html 文件,需要放在文件夹中)
-
在图片文件夹中添加一张图片
-
编写主体代码
<body> <img src="img/demo1.jpg" alt="这是一张壁纸" title="壁纸图片" width="200px" height="auto" /> </body> -
运行结果

<img/> 标签的一些常用属性的作用
-
src:定义图像的存放路径,可以使用相对路径和绝对路径
-
alt:图像的替代文字。如果因为某种原因(加载速度慢、路径错误等)导致图片无法正常显示,则会使用 alt 定义的文字去替代无法显示的图像

-
title:鼠标悬停图片时显示的一些提示文字
-
width、height:定义图像的宽和高,若不定义,则显示时默认显示原图像大小。像素(px)为长度单位,在网页中使用像素或相对长度单位(em)定义长度。如果只设置宽度,而不设置高度,或者高度值为 auto,意味高度随宽度大小进行自适应。
5.9 超链接
使用 <a></a> 双标签定义超链接,用于鼠标点击内容(可以是文字、图片或者其他内容)时从一个页面跳转到另一个页面。
<body>
<a href="https://www.baidu.com">跳转到百度页面</a>
</body>
当鼠标点击“跳转到百度页面这几个字”,本页面将替换成百度页面。
如果有其他自定义的 html 页面,也可以跳转到其他自定义的页面,支持相对路径和绝对路径。
<a></a> 标签的一些常用属性的作用
- href:链接指向的页面的地址或路径
- target:定义打开链接的位置(若不定义,则点击时将当前页面替换为要跳转的目标页面),有四个特殊的值
- _blank:在一个新打开的页面中加载跳转页面
- _self:为默认跳转位置,相当于不定义 target 属性,点击时将当前页面替换为要跳转的目标页面。
- _parent:加载父窗口或者框架集,如果是在窗口或者顶级框架中,则与 _self 等效。
- _top:加载包含这个超链接的窗口。
拓展:<a></a> 标签可以进行单个页面之间的跳转(锚链接),当一个页面内容很多时,可以快速回到顶部或者其他内容的位置。
<body>
<a name="top">这里是顶部</a>
<img src="img/demo1.jpg" alt="这是一张壁纸" title="壁纸图片" />
<img src="img/demo1.jpg" alt="这是一张壁纸" title="壁纸图片" />
<img src="img/demo1.jpg" alt="这是一张壁纸" title="壁纸图片" />
<img src="img/demo1.jpg" alt="这是一张壁纸" title="壁纸图片" />
<a href="#top">跳转到顶部</a>
</body>
指定需要被锚点的标签定义有 id 或者 name 属性值,然后超链接的 href 属性值为 #+前者定义的属性值即可实现锚链接。
除了超链接和锚链接,<a></a> 标签还可以实现一些功能性链接。
邮件发送链接:<a href="mailto:xxx@qq.com">联系我</a>
QQ推广链接:<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=qq&site=qq&menu=yes"><img border="0" src="http://wpa.qq.com/pa?p=2:qq:51" alt="点击向我发送QQ消息" title="点击向我发送QQ消息"/></a>
这里隐藏了我的一些个人信息,如有需要,邮件地址可以自行定义,QQ推广链接可以点击 QQ推广 申请。
5.10 列表
列表就是将一些清单、数据等信息按照从上往下的顺序排列。在 html 中,列表有三种形式(这里的 l 是 L 的小写,而非数字 1 或字母 I)
- 有序列表:
<ol></ol> - 无序列表:
<ul></ul> - 自定义列表:
<dl></dl>
<body>
<!-- 有序列表 -->
<ol>
<li>首先</li>
<li>然后</li>
<li>最后</li>
</ol>
<!-- 无序列表 -->
<ul>
<li>默认样式</li>
<li type="circle">空心圆点</li>
<li type="square">实心方块</li>
<li type="disc">无序列表的默认样式</li>
</ul>
<!-- 自定义列表,dt表示列表名称,dd表示列表内容 -->
<dl>
<dt>学科</dt>
<dd>语文</dd>
<dd>数学</dd>
<dd>英语</dd>
<dt>年级</dt>
<dd>一年级</dd>
<dd>二年级</dd>
<dd>三年级</dd>
</dl>
</body>
运行结果

5.11 表格
表格的基本元素有:单元格、表格的行、表格的列,同时呢也会存在合并行单元格、列单元格的结构。在 HTML 中,可以定义一系列的标签和属性来设计表格的结构,具体代码如下。
<body>
<table border="1px">
<tr>
<td colspan="3">学生成绩表</td>
</tr>
<tr>
<td rowspan="2">张三</td>
<td>语文</td>
<td>80</td>
</tr>
<tr>
<td>数学</td>
<td>90</td>
</tr>
<tr>
<td rowspan="2">李四</td>
<td>语文</td>
<td>100</td>
</tr>
<tr>
<td>数学</td>
<td>95</td>
</tr>
</table>
</body>
一些标签和属性的具体作用为
<table></table>标签:定义 HTML 表格。- border 属性:定义表格的边框长度,不定义则无边框。
<tr></tr>标签:定义表格的行。<td></td>标签:定义表格的列。- colspan 属性:合并行单元格的数量。
- rowspan 属性:合并列单元格的数量。
运行结果

5.12 媒体
使用 <video></video> 标签导入视频
使用 <audio></audio> 标签导入音频
需要在项目文件里提前准备一个视频和一个音频文件
<body>
<video src="media/video/video.mp4" controls="controls" autoplay="autoplay" width="200" loop="loop" muted="muted"></video>
</body>
一些视频标签常用属性的作用(这些属性的值可定义也可不定义,若定义则值为其属性本身)
- src:视频路径。
- controller:用来显示播放、音量、下载、全屏等按钮。
- autoplay:视频加载出来后直接自动播放。
- loop:设置视频自动重复播放。
- muted:设置视频静音播放。
- width、height:设置播放视频的宽度和高度(若值为纯数字,则默认以像素为单位)。
运行结果

<body>
<audio src="media/audio/张远-嘉宾.mp3" controls="controls"></audio>
</body>
音频常用的属性可以参考视频的常用属性
运行结果

5.13 表单及表单元素
表单是用来收集、提交用户的信息的一种格式,它包含了文本框、文本域、单选按钮、多选按钮、提交按钮、日期时间选择框、文件上传按钮、重置按钮等一些元素。接下来实现一下具体的效果。
<body>
<!-- 使用 form 标签来定义表单
action 为表单提交的页面路径或者请求地址
method 为表单内容的提交方式 get|post,若选用 get 提交,则提交后的地址栏后面携带提交的内容,不安全,使用 post 则不会出现-->
<form action="index.html" method="get">
<!-- 以下标签中的 name 属性值为对应标签的名字,值可以自定义
placeholder 为可输入的框添加提示信息-->
<!-- maxlength 属性限制输入的字符长度,size 限制文本框的长度 -->
<p>文本框:<input type="text" name="userName" placeholder="请输入用户名" maxlength="6" size="6" /></p>
<p>密码框:<input type="password" name="userPwd" placeholder="请输入密码" /></p>
<!-- rows 属性值定义一行显示的字符个数,cols 属性定义列数 -->
<p>文本域:<textarea name="textarea" rows="5" cols="5" placeholder="请输入文字"></textarea></p>
<!-- 单选按钮提交的数据为 value 属性的值,
同一性质(都属于性别)的单选按钮(男和女)需要统一 name 属性值,值可以自定义
checked 属性为该单选按钮默认为选中状态,可以只添加 checked 属性,不定义 checked 值
-->
<p>单选框:<input type="radio" name="sex" value="boy" checked="checked" />男
<input type="radio" name="sex" value="girl" />女</p>
<!-- 类似于单选框,多选框也需要绑定同一个 name 属性值,value 属性值为提交的数据 -->
<p>多选框:<input type="checkbox" name="hobby" value="sing" checked="checked" />唱歌
<input type="checkbox" name="hobby" value="dance" />跳舞
<input type="checkbox" name="hobby" value="chess" />下棋</p>
<p>日期选择:<input type="date" /></p>
<p>日期时间选择:<input type="datetime-local" /></p>
<p>文件上传:<input type="file" name="fileName" /></p>
<!-- value 属性的值为提交的数据,select 属性定义默认被选择的项 -->
<p>下拉列表:
<select name="cource">
<option value="语文">语文</option>
<option value="数学" selected="selected">数学</option>
<option value="英语">英语</option>
</select></p>
<!-- value 值为按钮上的文字说明 -->
<p>自定义按钮:<input type="button" value="自定义按钮" /></p>
<p>图片按钮:<input type="image" src="./img/demo1.jpg" width="100" /></p>
<p>表单提交按钮:<input type="submit" /></p>
<p>清空表单输入数据按钮:<input type="reset" /></p>
</form>
</body>
运行结果

除了以上基本标签元素以外,HTML 还提供了一些特别的 type 属性值。
<body>
<form action="index.html" method="get">
<p>不允许为空:<input type="text" name="notnull" placeholder="不允许为空" required="required" /></p>
<p>正则表达式:<input type="text" name="zhengze" placeholder="字母数字4-16位" pattern="/^[a-zA-Z0-9]{4,16}$/" /></p>
<p>邮箱验证:<input type="email" name="email" placeholder="请输入正确的邮箱" /></p>
<p>URL 地址:<input type="url" name="url" placeholder="请输入正确的地址" name="url" /></p>
<!-- step 为步长,每次增加或者减少的数量 -->
<p>数字验证:<input type="number" min="1" max="100" step="5" name="number" /></p>
<p>滑块范围:<input type="range" min="1" max="100" step="1" name="range" /></p>
<p>搜索框:<input type="search" name="search" /></p>
<p><input type="submit" /></p>
</form>
</body>
运行结果

除了以上判断输入内容以外,表单元素还提供了一些只读、隐藏、禁用的功能。
<body>
<p>只读:<input type="text" value="只读文本框" readonly="readonly" /></p>
<p>禁用:<input type="text" value="禁用文本框" disabled="disabled" /></p>
<p>隐藏文本框(仍然存在):<input type="text" value="只读文本框" hidden="hidden" /></p>
<p>不可选中:<input type="radio" name="sex" disabled="disabled" />不可选中选项</p>
<p>不可点击按钮:<input type="submit" disabled="disabled" /></p>
<!-- 点击文字光标指向绑定的文本框 -->
<p>
<label for="label">点此</label>
<input type="text" id="label" />
</p>
</body>
运行结果

注意:当文本框设置禁用属性(disabled)后,表单的 value 值是无法提交的,而设置只读属性(readonly)的文本框,其 value 属性值可以提交处理。
<body>
<form action="index.html" method="get">
<p>只读:<input type="text" value="只读文本框" name="readonly" readonly="readonly" /></p>
<p>禁用:<input type="text" value="禁用文本框" name="disabled" disabled="disabled" /></p>
<p><input type="submit" /></p>
</form>
</body>
点击提交后查看地址栏,可以发现,提交后的页面只获取到了只读属性的 value 值。

6. 行内元素和块级元素
- 行内元素:有多少内容就占多少宽度,多个行内元素可以单行显示(例:a、b、strong、img...)。
- 块级元素:无论标签的内容有多长,该标签总是独占一行,后面的其他内容换行显示(例:p、h1-h6、hr、div、ul、ol、dl、form、div...)。
7. 网页嵌套
在 HTML 中可以使用 iframe 标签实现在一个页面中嵌套另一个页面。
<body>
此页面需要嵌套另一个页面
<iframe src="two.html" name="two" width="400px" height="auto" frameborder="1"></iframe>
</body>
iframe 标签的一些属性的作用
- src:定义框架要显示的内容的路径或地址。
- name:对该框架的命名。
- frameborder:规定是否显示框架的边框(0 显示,1 不显示)
- width、height:定义框架的宽和高
运行结果

拓展:可以通过 a 标签的 target 属性值和 href 地址,指定在框架中要加载的页面。
<body>
此页面需要嵌套另一个页面
<iframe src="two.html" name="two" width="400px" height="auto" frameborder="1"></iframe>
<!-- target 值指向 iframe 标签的 name 属性值 -->
<a href="https://fanyi.youdao.com/" target="two">打开有道翻译</a>
</body>
运行结果


浙公网安备 33010602011771号