HTML5学习
HTML详解
- 初识HTML
- 网页基本标签
- 图像,超链接,网页布局.
- 列表,表格,媒体元素
- 表单及表单应用
- 表单初级验证
什么是HTML
HTML: Hyper Text Markup Language (超文本标记语言)
超文本包括:文字、图片、音频、视频、动画等
HTML发展史
HTML 5,提供了一些新的元素和一些有趣的新特性,同时也建立了一些新的规则。这些元素、特性和规则的建立,提供了许多新的网页功能,如使用网页实现动态渲染图形、图表、图像和动画,以及不需要安装任何插件直接使用网页播放视频等。
HTML5的优势
- 世界知名浏览器厂商对HTML5的支持
- 微软
- 苹果
- Opera
- Mozilla
- 市场的需求
- 跨平台
W3C标准
- W3C
- World Wide Web Consortium (万维网联盟)
- 成立于1994年, Web技术领域最权威和具影响力的国际
中立性技术标准机构
- http://www.w3.org/
- http://www.chinaw3c.org/
- W3C标准包括
结构
化标准语言(HTML,XML)表现
标准语言(CSS)行为
标准(DOM, ECMAScript )
常见IDE
- 记事本
- Dreamweaver
- IDEA
- WebStorm
- …
HTML基本结构
< body>, 等成对的标签,分别叫开放标签
和闭合标签
单独呈现的标签(空元素) ,如<hr/>
;意为用/来关闭空元素
网页基本信息
- DOCTYPE声明
<title>标签
<meta>标签
<!--DOCTYPE:告诉浏览器,我们要使用什么规范 -->
<!DOCTYPE html>
<html lang="en">
<!--- head标签代表网页头部 -->
<head>
<!-- meta描述性标签,它用来描述我们网站的一些信息 -->
<!-- meta一般用来做SEO -->
<meta charset="UTF-8">
<meta name="keywords" content="十九婊哥">
<meta name="description" content="来嗨皮呀!">
<!-- title网页标题 -->
<title>我的第一个网页</title>
</head>
<body>
<!-- body标签代表网页主体 -->
Hello World!
</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>
<p>真奇怪!真奇怪!</p>
<p>两只老虎,两只老虎,</p>
<p>跑得快,跑得快,</p>
<p>一只没有耳朵,</p>
<p>一只没有尾巴,</p>
<p>真奇怪!真奇怪!</p>
<!-- 水平线标签-->
<hr/>
<!-- 换行标签 -->
两只老虎,两只老虎,<br/>
跑得快,跑得快,<br/>
一只没有眼睛,<br/>
一只没有尾巴,<br/>
真奇怪!真奇怪!<br/>
两只老虎,两只老虎,<br/>
跑得快,跑得快,<br/>
一只没有耳朵,<br/>
一只没有尾巴,<br/>
真奇怪!真奇怪!<br/>
<!-- 粗体,斜体 -->
<h1>字体样式标签</h1>
粗体:<strong>I love you</strong><br/>
斜体:<em>I love you </em>
<br/>
<!--特殊符号-->
空 格:
空 格:
<br/>
<!--大于符号-->
>
<br/>
<!--小于符号-->
<
<br/>
<!--版权符号-->
©版权所有十九
<!--
特殊符号记忆方式
& ;
-->
</body>
</html>
图像,超链接,网页布局.
图像标签
常见的图像格式
- JPG
- GIF
- PNG
- BMP
- …
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图像标签学习</title>
</head>
<body>
<!--img学习
src:图片地址 (必填)
相对地址,绝对地址
../ --上一级目录
alt:图片名字(必填)
-->
<img src="../resources/image/1.png" alt="十九图片" title="悬停文字" width="500" height="200">
</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>
<a href="https://www.baidu.com" target="_self">点击我跳转到百度</a>
<br/>
<a href="1.我的第一个网页.html">
<img src="../resources/image/1.png" alt="十九图片" title="悬停文字" width="500" height="200">
</a>
<p><a href="1.我的第一个网页.html">
<img src="../resources/image/1.png" alt="十九图片" title="悬停文字" width="500" height="200">
</a>
</p><p><a href="1.我的第一个网页.html">
<img src="../resources/image/1.png" alt="十九图片" title="悬停文字" width="500" height="200">
</a>
</p>
<p><a href="1.我的第一个网页.html">
<img src="../resources/image/1.png" alt="十九图片" title="悬停文字" width="500" height="200">
</a></p>
<p><a href="1.我的第一个网页.html">
<img src="../resources/image/1.png" alt="十九图片" title="悬停文字" width="500" height="200">
</a></p>
<p>
<a href="1.我的第一个网页.html">
<img src="../resources/image/1.png" alt="十九图片" title="悬停文字" width="500" height="200">
</a></p>
<p><a href="1.我的第一个网页.html">
<img src="../resources/image/1.png" alt="十九图片" title="悬停文字" width="500" height="200">
</a></p>
<!--锚链接
1.需要一个锚标记
2.跳转到标记
#
-->
<a href="#top">回到顶部</a>
<a name="down">down</a>
<!--功能性链接
邮件链接:mailto:
QQ链接
-->
<a href="mailto:wyy19666@126.com">点击联系我</a>
<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=1968916211&site=qq&menu=yes">
<img border="0" src="http://wpa.qq.com/pa?p=2:1968916211:41" alt="你好,加我浏览好东西" title="你好,加我浏览好东西"/></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>java</li>
<li>python</li>
<li>运维</li>
<li>C</li>
<li>c++</li>
</ol>
<hr/>
<!--无序列表
应用范围:导航,侧边栏 ...
-->
<ul>
<li>java</li>
<li>python</li>
<li>运维</li>
<li>C</li>
<li>c++</li>
</ul>
<!--自定义列表
dl:标签
dt:列表名称
dd:列表内容
公司网站底部
-->
<dl>
<dt>学科</dt>
<dd>java</dd>
<dd>python</dd>
<dd>Linux</dd>
<dd>C</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="3"> 学生成绩</td>
</tr>
<tr>
<!-- rowspan 跨行 -->
<td rowspan="2">十九</td>
<td>语文</td>
<td>100</td>
</tr>
<tr>
<td>数学</td>
<td>100</td>
</tr>
<tr>
<!-- rowspan 跨行 -->
<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>
<!--音频和视频
src: 资源路径
controls: 控制条
autoplay: 自动播放
-->
<video src="../resources/video/001导学.mp4" controls autoplay ></video>
<audio src="../resources/audio/孤单坠爱(林音%20remix).mp3" controls autoplay ></audio>
</body>
</html>
页面结构分析
元素名 | 描述 |
---|---|
header | 标题头部区域的内容(用于页面或页面中的一块区域) |
footer | 标记脚部区域的内容(用于整个页面或页面的一块区域) |
section | Web页面中的一块独立区域 |
article | 独立的文章内容 |
aside | 相关内容或应用(常用于侧边栏) |
nav | 导航类辅助内容 |
<!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>Title</title>
</head>
<body>
<!--iframe内联框架
src:地址
w-h:宽度高度
-->
<iframe src="https://blog.csdn.net/m0_59213918/article/details/120120601" name="hello" frameborder="0" width="1000px" height="800px"></iframe>
<a href="https://blog.csdn.net/m0_59213918/article/details/120120601" target="hello">点击跳转</a>
<!-- 哔哩哔哩自己的内联框架-->
<!--<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>
表单及表单应用
表单语法
<!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="password" -->
<p>密码:<input type="password" name ="pwd"></p>
<p>
<!-- 提交按钮-->
<input type="submit">
<!-- 重置按钮-->
<input type="reset">
</p>
</form>
</body>
</html>
表单元素格式
属性 | 说明 |
---|---|
type | 指定元素的类型。text, password, checkbox, radio,submit.reset, file, hidden, image和button,默认为text |
name | 指定表单元素的名称 |
value | 元素的初始值。type为radio时必须指定一个值 |
size | 指定表单元素的初始宽度。当type为text或password时,表单元素的大小以字符为单位。对于其他类型,宽度以像素为单位 |
maxlength | type为text或password时,输入的最大字符数 |
checked | type为radio或checkbox时,指定按钮是否是被选中 |
单选框
<!-- 单选框标签
input type="radio"
value:单选框的值
name: 表示组
-->
<p>性别:
<input type="radio" value="boy" name="sex"/> 男
<input type="radio" value="girl" name="sex"/> 女
</p>
多选框
<!--多选框
input type="checkbox"
-->
<p>爱好:
<input type="checkbox" value="sleep" name="hobby">睡觉
<input type="checkbox" value="code" name="hobby">敲代码
<input type="checkbox" value="chat" name="hobby">聊天
<input type="checkbox" value="game" 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/2.jpg">
</p>
下拉框
<!--下拉框 列表框
-->
<p>国家:
<select name="列表名称">
<option value="china">中国</option>
<option value="us">美国</option>
<option value="etch" selected>瑞士ETH</option>
<option value="India">印度</option>
</select>
文本域
<!--文本域
cols="150" rows="10"
-->
<p>反馈:
<textarea name="textarea" cols="50" rows="10">文本内容</textarea>
</p>
文件域
<!-- 文件域
input type="file" name="files"
-->
<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="num" max="100" min="0" step="1">
</p>
<!-- 滑块
input type="range"
-->
<p>音量:
<input type="range" name="voice" min="0" max="100" step="2" >
</p>
<!-- 搜素框-->
<p>搜素:
<input type="search" name="search">
</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="get">
<!-- 文本输入框:input type="text"
value="十九" 默认初始值
maxlength="8" 最长能写几个字符
size="30" 文本框的长度
-->
<p>名字:<input type="text" name="username" ></p>
<!-- 密码框:input type="password" -->
<p>密码:<input type="password" name ="pwd"></p>
<!-- 单选框标签
input type="radio"
value:单选框的值
name: 表示组
-->
<p>性别:
<input type="radio" value="boy" name="sex" checked /> 男
<input type="radio" value="girl" name="sex"/> 女
</p>
<!--多选框
input type="checkbox"
-->
<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">游戏
</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/2.jpg">-->
</p>
<!--下拉框 列表框
-->
<p>国家:
<select name="列表名称">
<option value="china">中国</option>
<option value="us">美国</option>
<option value="etch" selected>瑞士ETH</option>
<option value="India">印度</option>
</select>
</p>
<!--文本域
cols="150" rows="10"
-->
<p>反馈:
<textarea name="textarea" cols="50" rows="10">文本内容</textarea>
</p>
<!-- 文件域
input type="file" name="files"
-->
<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="num" max="100" min="0" step="1">
</p>
<!-- 滑块
input type="range"
-->
<p>音量:
<input type="range" name="voice" min="0" max="100" step="2" >
</p>
<!-- 搜素框-->
<p>搜素:
<input type="search" name="search">
</p>
<p>
<!-- 提交按钮-->
<input type="submit">
<!-- 重置按钮-->
<input type="reset" value="清空表单">
</p>
</form>
</body>
</html>
表单的应用
- 隐藏域 hidden
- 只读 readonly
- 禁用 disabled
增强鼠标可用性
<!-- 增强鼠标可用性 -->
<p>
<label for="mark">你点我啊,来啊!!!</label>
<input type="text" id="mark">
</p>
表单初级验证
-
思考?为什么要进行表单验证
-
常用方式
- placeholder 提示信息
- required 非空判断
- pattern 正则表达式
<!-- 自定义邮箱 -->
<p>自定义邮箱:
<input type="text" name="diyemail" pattern="\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="get">
<!-- 文本输入框:input type="text"
value="十九" 默认初始值
maxlength="8" 最长能写几个字符
size="30" 文本框的长度
-->
<p>名字:<input type="text" name="username" placeholder="请输入用户名" required></p>
<!-- 密码框:input type="password" -->
<p>密码:<input type="password" name ="pwd" hidden value="123456"> </p>
<!-- 单选框标签
input type="radio"
value:单选框的值
name: 表示组
-->
<p>性别:
<input type="radio" value="boy" name="sex" checked disabled /> 男
<input type="radio" value="girl" name="sex"/> 女
</p>
<!--多选框
input type="checkbox"
-->
<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">游戏
</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/2.jpg">-->
</p>
<!--下拉框 列表框
-->
<p>国家:
<select name="列表名称">
<option value="china">中国</option>
<option value="us">美国</option>
<option value="etch" selected>瑞士ETH</option>
<option value="India">印度</option>
</select>
</p>
<!--文本域
cols="150" rows="10"
-->
<p>反馈:
<textarea name="textarea" cols="50" rows="10">文本内容</textarea>
</p>
<!-- 文件域
input type="file" name="files"
-->
<p>
<input type="file" name="files">
<input type="button" value="上传" name="upload">
</p>
<!-- 邮件验证-->
<p>邮箱:
<input type="email" name="email" required>
</p>
<!-- 自定义邮箱 -->
<p>自定义邮箱:
<input type="text" name="diyemail" pattern="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">
</p>
<!-- URL-->
<p>URL:
<input type="url" name="url" required>
</p>
<!-- 数字-->
<p>商品数量:
<input type="number" name="num" max="100" min="0" step="1" required>
</p>
<!-- 滑块
input type="range"
-->
<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="submit" >
<!-- 重置按钮-->
<input type="reset" value="清空表单">
</p>
</form>
</body>
</html>
效果