HTML
目录
1. 什么是HTML
Hyper Text Markup Language(超文本标记语言)
- 超文本包括:文字,视频,音乐...
2. HTML5的优势
- 世界知名厂商对HTML5的支持
- 市场需求
- 跨平台
3. W3C标准
W3C:World Wide Web Consortium(万维网联盟)
W3C标准包括
- 结构化标准语言(HTML,XML)
- 表现标准语言(CSS)
- 行为标准(DOM,ECMAScript)
4. 常见IDE
- 记事本
- Dreamweaver
- IDEA
- WebStrom
- ...
5. HTML的基本结构
<!DOCTYPE html>
<html lang="en">
<head> <!--开放标签-->
<meta charset="UTF-8"> <!--单独的叫做自闭合标签-->
<title>Title</title>
</head> <!--带/的叫做闭合标签-->
<body>
</body>
</html>
6. 网页的基本信息
注释的写法
<!--注释-->
<!DOCTYPE html> <!--DOCTYPE:告诉浏览器,我们要用什么规范-->
<html lang="en">
<!--head标签代表网页头部-->
<head> <!--开放标签-->
<!--meta描述性标签,用来描述我们网站的一些信息-->
<!--meta一般用来做SEO-->
<meta charset="UTF-8"> <!--单独的叫做自闭合标签-->
<meta name="keywords" content="这是我的第一个网页">
<meta name="description" content="用这个来测试">
<!--title网页标题-->
<title>Title</title>
</head> <!--带/的叫做闭合标签-->
<!--body标签代表网页主体-->
<body>
</body>
</html>
7. 网页的基本标签
<!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+Tab-->
<p>人猿相揖别。</p>
<p>只几个石头磨过,</p>
<p>小儿时节。</p>
<p>铜铁炉中翻火焰,</p>
<p>为问何时猜得?</p>
<p>不过几千寒热。</p>
<p>人世难逢开口笑,</p>
<p>上疆场彼此弯弓月。</p>
<p>流遍了,</p>
<p>郊原血。</p>
<p>一篇读罢头飞雪,</p>
<p>但记得斑斑点点,</p>
<p>几行陈迹。</p>
<p>五帝三皇神圣事,</p>
<p>骗了无涯过客。</p>
<p>有多少风流人物?</p>
<p>盗跖庄蹻流誉后,</p>
<p>更陈王奋起挥黄钺。</p>
<p>歌未竟,</p>
<p>东方白。</p>
<!--水平线标签,快捷键为hr+Tab-->
<hr/>
<!--换行标签,快捷键为br+Tab,行间距较小-->
人猿相揖别。<br/>
只几个石头磨过,<br/>
小儿时节。<br/>
铜铁炉中翻火焰,<br/>
为问何时猜得?<br/>
不过几千寒热。<br/>
人世难逢开口笑,<br/>
上疆场彼此弯弓月。<br/>
流遍了,<br/>
郊原血。<br/>
一篇读罢头飞雪,<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/>
小于号< <br/>
版权符号 © <br/>
<!--
特殊符号记忆方式
& ;自动提示-->
</body>
</html>
8. 图像标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图像标签学习</title>
</head>
<body>
<!--img学习
src:图片地址,相对路径(推荐使用)
../ 上一级目录
alt:找不到资源后的替代
title:鼠标悬停时显示的文字
width height:宽和高
其中,src和alt必填
-->
<img src="../resource/image/pic_1.jpg" alt="微软模拟飞行" title="悬停文字" width="300" height="300">
</body>
</html>
图片建议放在项目下的resource文件夹下的image文件夹,方便管理
9. 链接标签
<!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="我的第一个网页.html" target="_blank">
点击我跳转到页面一
</a>
<a href="https://www.baidu.com" target="_self">
点击我跳转到百度
</a>
<br/>
<!--图像超链接,用图像跳转-->
<a href="我的第一个网页.html">
<img src="../resource/image/pic_1.jpg" alt="微软模拟飞行" title="悬停文字" width="300" height="300">
</a>
<p>
<a href="我的第一个网页.html">
<img src="../resource/image/pic_1.jpg" alt="微软模拟飞行" title="悬停文字" width="300" height="300">
</a>
</p>
<p>
<a href="我的第一个网页.html">
<img src="../resource/image/pic_1.jpg" alt="微软模拟飞行" title="悬停文字" width="300" height="300">
</a>
</p>
<p>
<a href="我的第一个网页.html">
<img src="../resource/image/pic_1.jpg" alt="微软模拟飞行" title="悬停文字" width="300" height="300">
</a>
</p>
<p>
<a href="我的第一个网页.html">
<img src="../resource/image/pic_1.jpg" alt="微软模拟飞行" title="悬停文字" width="300" height="300">
</a>
</p>
<p>
<a href="我的第一个网页.html">
<img src="../resource/image/pic_1.jpg" alt="微软模拟飞行" title="悬停文字" width="300" height="300">
</a>
</p>
<p>
<a href="我的第一个网页.html">
<img src="../resource/image/pic_1.jpg" alt="微软模拟飞行" title="悬停文字" width="300" height="300">
</a>
</p>
<p>
<a href="我的第一个网页.html">
<img src="../resource/image/pic_1.jpg" alt="微软模拟飞行" title="悬停文字" width="300" height="300">
</a>
</p>
<p>
<a href="我的第一个网页.html">
<img src="../resource/image/pic_1.jpg" alt="微软模拟飞行" title="悬停文字" width="300" height="300">
</a>
</p>
<p>
<a href="我的第一个网页.html">
<img src="../resource/image/pic_1.jpg" alt="微软模拟飞行" title="悬停文字" width="300" height="300">
</a>
</p>
<p>
<a href="我的第一个网页.html">
<img src="../resource/image/pic_1.jpg" alt="微软模拟飞行" title="悬停文字" width="300" height="300">
</a>
</p>
<!--锚链接
1.需要一个锚标记
2.跳转到标记
#+标记名字
-->
<a href="#top">
回到顶部
</a>
<a name="down">底部</a>
<!--功能性链接
邮件链接:mailto:
QQ链接:去QQ推广
-->
<a href="mailto:715180879@qq.com">点击联系我</a>
<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=&site=qq&menu=yes">
<img border="0" src="http://wpa.qq.com/pa?p=2::53" alt="你好,加我领取小电影" title="你好,加我领取小电影"/>
</a>
</body>
</html>
<!--页面间跳转-->
<a href="链接标签.html#down">跳转</a>
10. 行内元素和块元素
块元素
- 无论内容多少,该元素独占一行
- (p、h1-h6...)
行内元素
- 内容撑开宽度,左右都是行内元素的可以排在一行
- (a、strong、em...)
11. 列表
列表的分类
- 无序列表
- 有序列表
- 自定义列表
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>列表学习</title>
</head>
<body>
<!--有序列表ol
应用范围:试卷,问答...
-->
<ol>
<li>Java</li>
<li>Python</li>
<li>运维</li>
<li>前端</li>
</ol>
<hr/>
<!--无序列表ul
应用范围:导航,侧边栏...
-->
<ul>
<li>Java</li>
<li>Python</li>
<li>运维</li>
<li>前端</li>
</ul>
<hr/>
<!--自定义列表dl
dt:列表名称
dd:列表内容
应用范围:公司网站底部...
-->
<dl>
<dt>学科</dt>
<dd>Java</dd>
<dd>Python</dd>
<dd>Linux</dd>
<dd>C</dd>
<dt>位置</dt>
<dd>南京</dd>
<dd>太原</dd>
<dd>沈阳</dd>
</dl>
</body>
</html>
12. 表格
为什么使用表格
- 简单通用
- 结构稳定
基本结构
- 单元格
- 行
- 列
- 跨行
- 跨列
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表格学习</title>
</head>
<body>
<!--表格Table
行 tr
列 td
border加边框
-->
<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>
<table border="1px">
<tr>
<td colspan="3">
<center>
课程表
</center>
</td>
</tr>
<tr>
<td rowspan="2">上午</td>
<td>JavaSE</td>
<td>8:00-10:00</td>
</tr>
<tr>
<td>HTML</td>
<td>10:00-12:00</td>
</tr>
<tr>
<td rowspan="2">下午</td>
<td>JavaWeb</td>
<td>2:00-4:00</td>
</tr>
<tr>
<td>JavaScript</td>
<td>4:00-6:00</td>
</tr>
</table>
</body>
</html>
13. 媒体元素
- 视频元素 video
- 音频元素 audio
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>媒体元素学习</title>
</head>
<body>
<!--音频和视频
src:资源路径
controls:控制条
autoplay:自动播放
-->
<video src="../resource/video/Wildlife.wmv" controls autoplay></video>
<audio src="../resource/audio/Sleep%20Away.mp3" controls autoplay></audio>
</body>
</html>
14. 页面结构分析
元素名 | 描述 |
---|---|
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>
15. iframe内联框架
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>iframe学习</title>
</head>
<body>
<!--iframe内联框架
src:地址
name:框架标识名
w-h:宽度高度
-->
<iframe src="https://www.baidu.com" frameborder="0" width="1000px" height="800px"></iframe>
<a href="我的第一个网页.html" target="_blank">点击跳转</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>
16.表单语法
放在form内
属性 | 说明 |
---|---|
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时,指定按钮是否被选中 |
<!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="我的第一个网页.html" method="get">
<!--文本输入框:<input type="text">-->
<p>名字:<input type="text" name="username" value="这是一个初始值" maxlength="8" size="30"></p>
<!--密码框:<input type="password">-->
<p>密码:<input type="password" name="pwd"></p>
<!--单选框标签
input type="radio"
value:单选框的值
name:表示组,同一组只能选一个
checked:默认被选中
-->
<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" checked>敲代码
<input type="checkbox" value="chat" name="hobby">聊天
<input type="checkbox" value="game" name="hobby">游戏
</p>
<!--按钮
input type="button" 普通按钮
input type="button" 图像按钮
input type="submit" 提交按钮
input type="reset" 重置按钮
-->
<p>按钮:
<input type="button" name="btn1" value="这是一个按钮">
<input type="image" src="../resource/image/pic_1.jpg">
</p>
<!--下拉框,列表框
-->
<p>下拉框:
<select name="列表名称">
<option value="china">中国</option>
<option value="us">美国</option>
<option value="sw">瑞士</option>
<option value="ind">印度</option>
</select>
</p>
<!--文本域
cols rows:宽和高
-->
<p>反馈:
<textarea name="textarea" cols="50" rows="10">文本内容</textarea>
</p>
<!--文件域
input type="file" name="files"
不写name无法上传,因为name中储存键值对
-->
<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="10">
</p>
<!--滑块
input type="range"
-->
<p>滑块:
<input type="range" min="0" max="100" name="voice" step="2">
</p>
<!--搜索框
也要写name作为键值对-->
<p>搜索:
<input type="search" name="search">
</p>
<!--增强鼠标可用性
label标签,指向一个位置for————>id-->
<label for="mark">你点我试试</label>
<input type="text" id="mark">
<p>
<input type="submit">
<input type="reset" value="清空表单">
</p>
</form>
</body>
</html>
17. 表单的应用
-
只读 readonly
-
禁用 disable
-
隐藏域 hidden
点击文字自动选中表单
<!--增强鼠标可用性
label标签,指向一个位置for————>id-->
<label for="mark">你点我试试</label>
<input type="text" id="mark">
18. 表单初级验证
为什么要进行表单验证?
减轻压力,确保安全
常用方式
-
placeholder:默认的输入框显示的提示信息,用于所有的输入框中
<p>名字:<input type="text" name="username" value="这是一个初始值" maxlength="8" size="30" placeholder="请输入用户名"></p>
-
required:非空判断,若为空则不能提交,用于所有的输入框中
<p>名字:<input type="text" name="username" value="这是一个初始值" maxlength="8" size="30" required></p>
-
pattern:正则表达式
<!--pattern--> <p>自定义邮箱 <input type="text" name="diymail" pattern="/^([a-z0-9_.-]+)@([da-z.-]+).([a-z.]{2,6})$/ /^[a-zd]+(.[a-zd]+)*@([da-z](-[da-z])?)+(.{1,2}[a-z]+)+$/或w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*"> </p>