HTML
什么是HTML
HTML
- Hyper Text Markup Language(超文本标记语言)
- 超文本包括:文字、图片、音频、视频、动画等
前端调试界面,在该网站界面右键,选择审查,后续的前段调试大多在此页面操作:

HTML发展史
目前网页中常用:HTML5 + CSS 3

HTML5的优势
- 世界知名浏览器厂商对HTML5的支持
- 微软
- 苹果
- Opera
- Mozilla
- 市场的需求
- 跨平台
W3C标准
W3C
- World Wide Web Consortium(万维网联盟)
- 成立于1994年,Web技术领域最权威和具影响力的国际中立性技术标准机构
- https://www.w3.org/
- https://www.chinaw3c.org/
W3C标准包括:
- 结构化标准语言 HTML、XML
- 表现标准语言 CSS
- 行为标准 DOM、ECMAScript
常见IDE
- 记事本
- Dreamweaver
- WebStorm
- IDEA(集成了WebStorm)
HTML基本结构

- <body>、</body>等成对的标签,分别叫开放标签和闭合标签
- 单独呈现的标签(空元素),如<hr/>;意为用/来关闭空元素,叫自闭合标签
网页基本信息
HTML注释书写格式:<!-- 注释格式 -->
-
DOCTYPE声明:
文档类型:告诉浏览器要使用什么规范
如:
-
html标签:总的大标签,所有的HTML代码都要写在这个标签之内
-
head标签:代表网页头部
- title标签:显示在浏览器标签页的网页标题
- meta标签:描述性标签,用来描述我们网站的一些信息,通过这些信息我们的网站才会被搜索引擎所查询到。一般用来做SEO(搜索引擎优化)
-
body标签:代表网页的主体
<!-- DOCTYPE:告诉浏览器要使用什么规范 --> <!DOCTYPE html> <!-- html:总的大标签,所有的HTML代码都要在此标签之内 --> <html lang="en"> <!-- head:代表网页头部 --> <head> <!-- meta:描述性标签,用来描述我们网站的一些信息,是搜索引擎能搜索到的原因 --> <meta charset="UTF-8"> <meta name="keywords" content="我的Java学习记录"> <meta name="description" content="记录我的Java学习过程"> <!-- title:网页标题 --> <title>这就是网页标题吗</title> </head> <!-- body:代表网页主体 --> <body> HelloWorld! </body> </html>
网页标签
网页基本标签
- 标题标签
- 段落标签
- 换行标签
- 水平线标签
- 字体样式标签
- 注释和特殊符号
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>基本标签学习</title>
</head>
<body>
<!-- 标题标签 -->
<h1>一级标签</h1>
<h2>二级标签</h2>
<h3>三级标签</h3>
<h4>四级标签</h4>
<h5>五级标签</h5>
<h6>六级标签</h6>
<!-- 段落标签 -->
<p>两只老虎,两只老虎,跑得快,跑得快</p>
<p>一只没有眼睛,一只没有尾巴,真奇怪!真奇怪!</p>
<p>两只老虎,两只老虎,跑得快,跑得快</p>
<p>一只没有眼睛,一只没有尾巴,真奇怪!真奇怪!</p>
<!-- 水平线标签 -->
<hr/>
<!-- 换行标签 -->
<!-- 一般来说,自闭合标签不需要 / 但我们也加上 / ,这里虽然换行了,但是明显感到行距和段落标签产生的行距不同,即所有内容仍然属于一个段落 -->
两只老虎,两只老虎,跑得快,跑得快<br/>
一只没有眼睛,一只没有尾巴,真奇怪!真奇怪!<br/>
两只老虎,两只老虎,跑得快,跑得快<br/>
一只没有眼睛,一只没有尾巴,真奇怪!真奇怪!<br/>
<!-- 粗体,斜体 -->
<hr/>
<h1>字体样式标签</h1>
粗体:<strong>I love you!</strong><br/>
斜体:<em>I love you!</em>
<!-- 特殊符号 -->
<hr/>
空 格
<br/>
大于号:>
<br/>
小于号:<
<br/>
版权符号:©版权所有:Luck1y
<!--
特殊符号记忆方式:&开头,;结尾
直接在IDEA中输入 &+字母 就会自动跳出,或者百度
-->
♥
</body>
</html>
图像标签
常见的图像格式
- JPG
- GIF
- PNG
- BMP(位图)
- …

良好的编码规范:资源独立建立一个存放的目录:resources,每种资源分文件夹独立存放。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图像标签学习</title>
</head>
<body>
<!-- img 标签学习
sec:图片地址
相对地址(推荐)、绝对地址
../ 表示上一级目录
alt:图片加载失败返回的信息(必填)
title:光标放置在图片上方显示的悬停文字(选填)
width和height:宽度和高度(选填)
......
-->
<img src="../resources/image/Java.png" alt="Java图标" title="这是悬停文字示例">
</body>
</html>
链接标签

- 文本超链接
- 图像超链接
超链接:
-
页面间链接
从一个页面链接到另一个页面
-
锚链接
还可以实现不同页面间的锚链接跳转
-
功能性链接
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>链接标签学习</title>
</head>
<body>
<!-- 使用name作为标记 -->
<a name="top">顶部</a>
<!-- a 标签
href:必填,表示要跳转到哪个页面
target:表示窗口在哪里打开
_blank 在新的页面打开
_self 在自己的网页中打开
-->
<a href="1.我的第一个网页.html" target="_blank">点我跳转到页面一</a>
<br/>
<a href="https://www.baidu.com">点我跳转到百度</a>
<br/>
<a href="1.我的第一个网页.html">
<img src="../resources/image/Java.png" alt="Java图标" title="这是悬停文字示例">点我跳转到页面一</a>
<br/>
<p><a href="1.我的第一个网页.html">
<img src="../resources/image/Java.png" alt="Java图标" title="这是悬停文字示例">点我跳转到页面一</a>
<br/></p>
<p><a href="1.我的第一个网页.html">
<img src="../resources/image/Java.png" alt="Java图标" title="这是悬停文字示例">点我跳转到页面一</a>
<br/></p>
<p><a href="1.我的第一个网页.html">
<img src="../resources/image/Java.png" alt="Java图标" title="这是悬停文字示例">点我跳转到页面一</a>
<br/></p>
<p><a href="1.我的第一个网页.html">
<img src="../resources/image/Java.png" alt="Java图标" title="这是悬停文字示例">点我跳转到页面一</a>
<br/></p>
<p><a href="1.我的第一个网页.html">
<img src="../resources/image/Java.png" alt="Java图标" title="这是悬停文字示例">点我跳转到页面一</a>
<br/></p>
<p><a href="1.我的第一个网页.html">
<img src="../resources/image/Java.png" alt="Java图标" title="这是悬停文字示例">点我跳转到页面一</a>
<br/></p>
<!-- 锚链接
1.需要一个锚标记
2.跳转到标记
用 # 表示
-->
<a href="#top">回到顶部</a>
<!-- 功能性链接
邮箱链接:mailto
-->
<a href="mailto:luck1yliu@foxmail.com">点击联系我</a>
</body>
</html>
行内元素和块元素
-
块元素
- 无论内容多少,该元素单独占一行
- p标签、h1-h6标题标签…
-
行内元素
- 内容撑开宽度,左右都是行内元素的可以排在一行
- a标签、strong标签、em标签…
列表标签
什么是列表:
- 列表就是信息资源的一种展现形式。它可以使信息结构化和条理化,并以列表的样式显示出来,以便浏览者能更快捷地获得相应的信息。
列表的分类:
- 无序列表
- 有序列表
- 自定义列表
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>列表学习</title>
</head>
<body>
<!-- 有序列表
应用范围:试卷、问答……
-->
<ol>
<li>学科</li>
<li>Java</li>
<li>Python</li>
<li>运维</li>
<li>前端</li>
<li>C++</li>
</ol>
<hr/>
<!-- 无序列表
应用范围:导航栏、侧边栏……
-->
<ul>
<li>学科</li>
<li>Java</li>
<li>Python</li>
<li>运维</li>
<li>前端</li>
<li>C++</li>
</ul>
<hr/>
<!-- 自定义序列表
dl:标签
dt:列表名称
dd:列表内容
应用范围:网站的底部
-->
<dl>
<dt>学科</dt>
<dd>Java</dd>
<dd>Python</dd>
<dd>前端</dd>
<dd>后端</dd>
<dd>C++</dd>
<dt>位置</dt>
<dd>北京</dd>
<dd>上海</dd>
<dd>广东</dd>
<dd>西安</dd>
<dd>南京</dd>
</dl>
</body>
</html>
表格标签
- 为什么使用表格
- 简单通用
- 结构稳定
- 基本结构
- 单元格
- 行
- 列
- 跨行
- 跨列
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表格学习</title>
</head>
<body>
<!-- 表格table
行 tr rows
列 td
-->
<table border="1px">
<tr>
<!-- colspan 跨列 -->
<td colspan="4">1-1</td>
</tr>
<tr>
<!-- rowspan 跨行 -->
<td rowspan="2">2-1</td>
<td>2-2</td>
<td>2-3</td>
<td>2-4</td>
</tr>
<tr>
<td>3-1</td>
<td>3-2</td>
<td>3-3</td>
</tr>
</table>
<hr/>
<!-- 简单做一个表格 -->
<table border="1px">
<tr>
<td colspan="3" align="center">学生成绩</td>
</tr>
<tr>
<td rowspan="2">刘子</td>
<td>语文</td>
<td>100</td>
</tr>
<tr>
<td>数学</td>
<td>100</td>
</tr>
<tr>
<td rowspan="2">杨子</td>
<td>语文</td>
<td>100</td>
</tr>
<tr>
<td>数学</td>
<td>100</td>
</tr>
</table>
</body>
</html>
媒体元素
视频和音频
-
视频元素:
video
-
音频元素:
audio
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>媒体元素学习</title>
</head>
<body>
<!--音频和视频
1. src:资源路径
2. controls:控制开关
3. autoplay:自动播放
-->
<video src="../resources/video/Ela.mp4" controls></video>
<audio src="../resources/audio/Ash - Melody (Original mix).mp3" controls autoplay></audio>
</body>
</html>
页面结构分析

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>页面结构分析</title>
</head>
<body>
<header>
<h2>网页头部</h2>
</header>
<section>
<h2>网页主体</h2>
</section>
<footer>
<h2>网页脚部</h2>
</footer>
</body>
</html>
iframe内联框架


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>内联框架iframe</title>
</head>
<body>
<!-- iframe内联框架
src:地址
width和height:宽度和高度
-->
<iframe src="" frameborder="0" name="hello"></iframe>
<a href="https://blog.youkuaiyun.com/liujaiqi111" target="hello">点击跳转</a>
<hr/>
<iframe
src="//player.bilibili.com/player.html?aid=55631961&bvid=BV1x4411V75C&cid=97257967&page=11"
scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true">
</iframe>
</body>
</html>
表单(重点)
表单语法

表单:form
action:表单提交的位置,可以是网站,也可以是一个请求处理地址
method:post,get提交方式
get方式提交:能够在URL中看到我们提交的信息,高效但不安全,不能传输大文件
post方式提交:比较安全,可以传输大文件,但可以在审查中看到输入的内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录注册</title>
</head>
<body>
<h1>注册</h1>
<!-- 表单form
action:表单提交的位置,可以是网站,也可以是一个请求处理地址
method:post,get提交方式
get方式提交:能够在URL中看到我们提交的信息,高效但不安全,不能传输大文件
post方式提交:比较安全,可以传输大文件
-->
<form action="1.我的第一个网页.html" method="post">
<!-- 文本输入框:input type=“text” -->
<p>名字:<input type="text" name="username"></p>
<!-- 密码框:input type=“text” -->
<p>密码:<input type="password" name="pwd"></p>
<p>
<input type="submit">
<input type="reset">
</p>
</form>
</body>
表内元素格式

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录注册</title>
</head>
<body>
<h1>注册</h1>
<!-- 表单form
action:表单提交的位置,可以是网站,也可以是一个请求处理地址
method:post,get提交方式
get方式提交:能够在URL中看到我们提交的信息,高效但不安全,不能传输大文件
post方式提交:比较安全,可以传输大文件
-->
<form action="1.我的第一个网页.html" method="post">
<!-- 文本输入框:input type=“text”
value:初始值
size:文本框长度的大小
maxlength:最长能写几个字符
-->
<p>名字:<input type="text" name="username"></p>
<!-- 密码框:input type=“text” -->
<p>密码:<input type="password" name="pwd"></p>
<!-- 单选框标签
input type=“radio”
value:单选框的值
name:表示是否属于这一组,同一个name为同一个组
checked:默认选中
-->
<p>性别:
<input type="radio" value="boy" name="sex"/>男
<input type="radio" value="girl" name="sex"/>女
</p>
<!-- 多选框 -->
<p>爱好:
<input type="checkbox" value="sleep" name="hobby">睡觉
<input type="checkbox" value="code" name="hobby" checked>敲代码
<input type="checkbox" value="chat" name="hobby">聊天
<input type="checkbox" value="game" name="hobby">游戏
<input type="checkbox" value="girl" name="hobby">女孩子
</p>
<!--按钮
input type="button" 普通按钮
input type="image" 图片按钮
input type="submit" 提交按钮
input type="reset" 重置按钮
-->
<p>
<input type="button" name="btn1" value="点击进入">
<!-- 图片按钮有自动提交功能 -->
<!--<input type="image" src="../resources/image/Java.png">-->
</p>
<!-- 下拉框 列表框
option 选项
selected 默认选择
-->
<p>国家:
<select name="国家">
<option value="China" selected>中国</option>
<option value="US">美国</option>
<option value="Swiss">瑞士</option>
<option value="India">印度</option>
</select>
</p>
<!-- 文本域 -->
<p>反馈:
<textarea name="textarea" cols="30" rows="10">文本内容</textarea>
</p>
<!-- 文件域
input type=“file”
-->
<p>
<input type="file" name="files">
<input type="button" value="上传" name="upload">
</p>
<!-- 邮件验证 初级-->
<p>邮箱:
<input type="email" name="email">
</p>
<!-- URL验证 -->
<p>URL:
<input type="url" name="url">
</p>
<!-- 数字验证 -->
<p>数量:
<input type="number" name="number" max="100" min="0" step="10">
</p>
<!-- 滑块 -->
<p>音量:
<input type="range" name="voice" min="0" max="100" step="2">
</p>
<!-- 搜索框 -->
<p>搜索:
<input type="search" name="search">
</p>
<p>
<input type="submit" value="提交表单">
<input type="reset" value="清空表单">
</p>
</form>
</body>
网页截图:

表单的应用
-
隐藏域:hidden
-
<p>密码: <input type="password" name="password" value="123456" hidden> </p>
-
-
只读:readonly
-
<p>名字: <input type="text" name="username" maxlength="8" size="30" readonly placeholder="请输入用户名"> </p>
-
-
禁用:disabled
-
<p>性别: <input type="radio" value="boy" name="sex" checked disabled/>男 <input type="radio" value="girl" name="sex"/>女 </p>
-
-
增强鼠标可用性(实现鼠标点击前边的文字,可以锁定后边的框):
-
<label for=“mark”>你点我试试</label>
<input type=“text” id=“mark”> -
<!-- 增强鼠标可用性 --> <p> <label for="mark">你点我试试</label> <input type="text" id="mark"> </p>
-
表单的初级验证
-
为什么需要进行表单验证?
- 保证数据的安全性
- 减轻服务器的压力
-
常用方式
-
placeholder:提示信息,用在所有的输入框中,提示这里需要输入什么内容
-
<p>名字: <input type="text" name="username" placeholder="请输入用户名"> </p>
-
-
required:要求元素不能为空
-
<p>密码: <input type="password" name="pwd" required> </p>
-
-
pattern:正则表达式
-
<p>自定义邮箱: <input type="text" name="diymail" pattern="/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/ /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/或\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"> </p>
-
-
表单代码汇总
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录注册</title>
</head>
<body>
<h1>注册</h1>
<!-- 表单form
action:表单提交的位置,可以是网站,也可以是一个请求处理地址
method:post,get提交方式
get方式提交:能够在URL中看到我们提交的信息,高效但不安全,不能传输大文件
post方式提交:比较安全,可以传输大文件
-->
<form action="1.我的第一个网页.html" method="post">
<!-- 文本输入框:input type=“text”
value:初始值
size:文本框长度的大小
maxlength:最长能写几个字符
-->
<p>名字:<input type="text" name="username" placeholder="请输入用户名"></p>
<!-- 密码框:input type=“text” -->
<p>密码:<input type="password" name="pwd" required></p>
<!-- 单选框标签
input type=“radio”
value:单选框的值
name:表示是否属于这一组,同一个name为同一个组
checked:默认选中
-->
<p>性别:
<input type="radio" value="boy" name="sex"/>男
<input type="radio" value="girl" name="sex"/>女
</p>
<!-- 多选框 -->
<p>爱好:
<input type="checkbox" value="sleep" name="hobby">睡觉
<input type="checkbox" value="code" name="hobby" checked>敲代码
<input type="checkbox" value="chat" name="hobby">聊天
<input type="checkbox" value="game" name="hobby">游戏
<input type="checkbox" value="girl" name="hobby">女孩子
</p>
<!--按钮
input type="button" 普通按钮
input type="image" 图片按钮
input type="submit" 提交按钮
input type="reset" 重置按钮
-->
<p>
<input type="button" name="btn1" value="点击进入">
<!-- 图片按钮有自动提交功能 -->
<!--<input type="image" src="../resources/image/Java.png">-->
</p>
<!-- 下拉框 列表框
option 选项
selected 默认选择
-->
<p>国家:
<select name="国家">
<option value="China" selected>中国</option>
<option value="US">美国</option>
<option value="Swiss">瑞士</option>
<option value="India">印度</option>
</select>
</p>
<!-- 文本域 -->
<p>反馈:
<textarea name="textarea" cols="30" rows="10">文本内容</textarea>
</p>
<!-- 文件域
input type=“file”
-->
<p>
<input type="file" name="files">
<input type="button" value="上传" name="upload">
</p>
<!-- 邮件验证 初级-->
<p>邮箱:
<input type="email" name="email">
</p>
<!-- URL验证 -->
<p>URL:
<input type="url" name="url">
</p>
<!-- 数字验证 -->
<p>数量:
<input type="number" name="number" max="100" min="0" step="10">
</p>
<!-- 滑块 -->
<p>音量:
<input type="range" name="voice" min="0" max="100" step="2">
</p>
<!-- 搜索框 -->
<p>搜索:
<input type="search" name="search">
</p>
<!-- 增强鼠标可用性 -->
<p>
<label for="mark">你点我试试</label>
<input type="text" id="mark">
</p>
<p>自定义邮箱:
<input type="text" name="diymail" pattern="/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
/^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/或\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">
</p>
<p>
<input type="submit" value="提交表单">
<input type="reset" value="清空表单">
</p>
</form>
</body>