HTML详解
什么是HTML
HTML:Hyper Text Markup Language(超文本标记语言)
超文本包括:文字、图片、音频、视频、动画等
HTML 5提供了一些新的元素和一些有趣的新特性,同时也建立了一些新的规则。这些元素、特性和规则的建立,提供了许多新的网页功能,如使用网页实现动态渲染图形、图表、图像和动画,以及不需要安装任何插件直接使用网页播放视频等。
HTML5的优势:
- 世界知名浏览器厂商对HTML5的支持(微软、Google、苹果、Opera、Mozilla)
- 市场的需求
- 跨平台
W3C标准
W3C:World Wide Web Consortium(万维网联盟)
成立于1994年,Web技术领域最权威和具影响力的国际中立性技术标准机构
W3C标准内容包括:
- 结构化标准语言(HTML,XML)
- 表现标准语言(CSS)
- 行为标准语言(DOM,ECMAScript)
常见IDE:
- 记事本
- Dreamweaver
- IDEA
- WebStorm
浏览器配置:setting/Tools/Web Browsers
HTML基本结构
<!--DOCTYPE:告诉浏览器使用什么规范 -->
<!DOCTYPE html>
<html lang="en">
<!--head标签代表网页头部-->
<head>
<!--meta描述性标签,用来描述网站的一些信息-->
<!--meta一般用来做SEO -->
<meta charset="UTF-8">
<meta name="keywords" content="java讲解,东北大学">
<meta name="description" content="访问此网站可以学习java">
<!--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>
<!--水平线标签-->
<hr/>
<!--换行标签-->
两只老虎 两只老虎<br/>
跑得快 跑得快<br/>
一只没有耳朵 一只没有尾巴<br/>
真奇怪 真奇怪<br/>
<!--粗体、斜体-->
<h1>字体样式标签</h1>
粗体:<strong>I LOVE YOU</strong> <br/>
斜体:<em>I LOVE YOU</em>
<br/>
<!--特殊符号-->
空 格 <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:图片地址(必填)
相对地址:相对于当前文件的路径../resources/image/1.jpg(推荐使用)
../ 上一级目录
绝对地址:从盘符开始写D:\Javaworkspace\HTML\resources\image\1.jpg
alt:图片加载失败时显示的文字(必填)
-->
<img src="../resources/image/1.jpg" alt="头像图片" title="悬停文字" width="300" height="300">
<a href="4.链接标签.html#down">跳转页面四</a>
</body>
</html>
链接标签
超链接:
- 页面间链接:从一个页面链接到另一个页面
- 锚链接
- 功能性链接
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>链接标签学习</title>
</head>
<body>
<!--锚标记:使用id作为标记-->
<a id="top"></a>
<!--a标签
herf:必填,表示要跳转到哪个页面
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.jpg" alt="头像图片" title="悬停文字" width="300" height="300">
</a>
<br/>
<!--锚链接
1.需要一个锚标记
2.跳转到标记 #
-->
<a href="#top">回到顶部</a>
<br/>
<a id="down"></a>
<!--功能性链接
邮件链接:mailto
qq链接
-->
<a href="mailto:1289274798@qq.com">点击联系邮箱</a>
<br/>
<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=1289274798&site=qq&menu=yes">
<img src="../resources/image/2.jpg" alt="联系qq" 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>前端</li>
<li>c/c++</li>
</ol>
<hr/>
<!--无序列表-->
<ul>
<li>Java</li>
<li>Python</li>
<li>运维</li>
<li>前端</li>
<li>c/c++</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>
<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>
</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/片头.mp4" controls autoplay></video>
<br/>
<audio src="../resources/audio/萤火虫和你.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>内联框架iframe</title>
</head>
<body>
<!--iframe内联框架
src:地址
w-h:宽度高度
-->
<iframe src="https://www.bilibili.com/" name="hello" frameborder="0" width="800px" height="600px"></iframe>
<a href="https://cn.bing.com/" target="hello">点击跳转</a>
<!--<iframe src="//player.bilibili.com/player.html?aid=55440782&cid=96929343&page=1"-->
<!-- scrolling="no" border="0" frameborder="0" 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="get">
<!--文本输入框: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>
表单的应用
隐藏域hidden:设置一些默认值
只读readonly
禁用disabled
<!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="仙女" value是文本框默认初始值
maxlength="8" 最长能写几个字符
size="30" 文本框的长度
-->
<p>名字:<input type="text" name="username" value="admin" readonly></p>
<!--密码框input type="password"-->
<p>密码:<input type="password" name="pwd" hidden></p>
<!--单选框标签
input type="radio"
value:单选框的值
name:表示组,name相同就表示同一个组
-->
<p>性别
<input type="radio" value="boy" name="gender" checked disabled/>男
<input type="radio" value="girl" name="gender"/>女
</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">游戏
</p>
<!--按钮
input type="button"普通按钮
value:按钮上的字
input type="image"图片按钮
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="country">
<option value="china">中国</option>
<option value="us">美国</option>
<option value="eth" selected>瑞士</option>
<option value="india">印度</option>
</select>
</p>
<!--文本域
cols="30" rows="10"列 行
-->
<p>建议
<textarea name="textarea" cols="30" 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="e-mail">
</p>
<!--URL验证-->
<p>URL
<input type="url" name="address">
</p>
<!--数字验证-->
<p>商品数量
<input type="number" name="data" 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>
<!--增强鼠标可用性-->
<label for="mark">点我试一下</label>
<input type="text" id="mark">
<p>
<input type="submit">
<input type="reset" value="清空表单">
</p>
</form>
</body>
</html>
表单初级验证
常用方式
- placeholder提示信息(<p>名字:<input type="text" name="username" placeholder="请输入用户名"></p>)
- required非空判断(<p>名字:<input type="text" name="username" placeholder="请输入用户名" required></p>)
- pattern正则表达式(<input type="text" name="diymail" pattern="^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$">)