前端第一部分——HTML5
Hyper Text Markup Language(超文本标记语言)
w3C World Wide Web Consortium(万维网联盟)
Search Engine Optimization (SEO)(搜索引擎优化)
w3C标准包括
- 结构化标准语言(HTML、XML)
- 表现标准语言(css)
- 行为标准(DOM、ECMAScript )
网页的基本结构
#开放标签和闭合标签 自闭合标签
<!--DOCTYPE:告诉浏览器,我们要使用什么规范-->
<!DOCTYPE html>
<html lang="en">
<!--head标签代表网页头部-->
<head>
<!--meta描述性标签,用来描述网站信息
一般用来做SEO-->
<meta charset="UTF-8">
<meta name="keywords" content="西部开源">
<meta name="description" content="来学习Java">
<!--title网页标题-->
<title>我的第一个网页</title>
</head>
<!--body标签代表网页主体-->
<body>
hello world!
</body>
</html>
网页基本信息
#快速注释:ctrl / <!--DOCTYPE:告诉浏览器,我们要使用什么规范--> <!DOCTYPE html> <html lang="en"> <!--head标签代表网页头部--> <head> <!--meta描述性标签,用来描述网站信息--> <!--meta一般用来做SEO--> <meta charset="UTF-8"> <meta name="keywords" content="西部开源"> <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>
<p>跑得快,跑得快</p>
<p>一只没有耳朵,一只没有尾巴,真奇怪!真奇怪!</p>
<!--水平线标签-->
<hr/>
<!--换行标签
说明:在这里书写的时候换行,并不会影响展示效果,还是只换行-->
两只老虎,两只老虎<br/>
跑得快,跑得快<br/>
一只没有眼睛,一只没有尾巴,真奇怪!真奇怪!<br/>
两只老虎,两只老虎<br/>
跑得快,跑得快<br/>
一只没有耳朵,一只没有尾巴,真奇怪!真奇怪!<br/>
<!--粗体、斜体-->
<h1>字体样式标签</h1>
粗体:<strong>i love u</strong><br/>
斜体:<em>i love u</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>
<!--image学习
src:图片地址
相对地址(推荐使用) 绝对地址
../ 上一级目录
alt:图片名字,如地址错误,显示图片名字
-->
<img src="../resources/images/tiger.jpg" alt="狂神头像" title="悬停文字" width="100" heighjt="100">
<a href="4、链接标签.html#down">点击跳转到页面4底部</a>
</body>
</html>
链接标签+行内元素和块元素
- 超链接
- 文本超链接
- 图像超链接
- 页面间链接
- 从一个页面链接到另一个页面
- 锚链接
- 页面内
- 页面间
- 功能性链接
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>链接标签</title>
</head>
<body>
<!--使用name作为标记-->
<a neme="top">顶部</a>
<!--a标签
href:必填,表示要跳转到的页面
target:表示链接在哪个窗口打开
_blank 在新标签中打开
_self 在当前标签中打开
_parent
_top
-->
<a href="1、我的第一个HTML.html" target="_blank">点击我跳转到页面一</a>
<br/>
<a href="https://www.baidu.com" target="_self">点击我跳转到百度</a>
<br/>
<!--点击图片跳转到”我的第一个HTML“-->
<a href="1、我的第一个HTML.html">
<img src="../resources/images/tiger.jpg" alt="狂神头像" title="悬停文字" width="500" heighjt="500">
</a>
<!--锚链接
1、需要先设置一个标记(name)
2、跳转到标记位置
-->
<a href="#top">回到顶部</a>
<a name="down">底部</a>
<!--功能性链接
向指定邮箱发邮件
QQ
-->
<a href="mailto:1615669687@qq.com">点击联系我</a>
</body>
</html>
列表
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>列表学习</title>
</head>
<body>
<!--有序列表
应用范围:试卷 问答-->
<ol>
<li>java</li>
<li>python</li>
<li>c++</li>
</ol>
<!--分割线-->
<hr/>
<!--无序列表
应用范围:导航 侧边栏-->
<ul>
<li>java</li>
<li>python</li>
<li>c++</li>
</ul>
<!--自定义列表
dl:标签
dt:列表名称
dd:列表内容
应用:公司网站底部
-->
<dl>
<dt>学科</dt>
<dd>java</dd>
<dd>python</dd>
<dd>c++</dd>
</dl>
</body>
</html>
表格标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表格学习</title>
</head>
<body>
<!--表格table
行 tr
列 td
跨行和跨列必须从左起、从上起
调整删除多余格:
跨列,删除多余列,对于当前行,多余几列删几列
跨行,删除多余行,对于影响的每一列,多余几列删几列
对照效果修改调整其实很明确的!
-->
<table border="1px">
<tr>
<td colspan="3"></td>
</tr>
<tr>
<td rowspan="4"></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>
视频和音频
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>媒体元素</title>
</head>
<body>
<!--音频和视频
scr:地址
controls:控制条
autoplay:自动播放
【思考】
1、不能自动播放和浏览器有关吗?
2、src前面加了muted可以自动播放,但总是一开始静音需要手动打开音量
-->
<video src="../resources/video/2.mp4" controls="controls" autoplay="autoplay">视频</video>
<audio src="../resources/audio/1.mp3" controls="controls" autoplay="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>
</head>
<body>
<!--<iframe src="//player.bilibili.com/player.html?aid=376516595&bvid=BV1uo4y1X7pY&cid=366909654&page=1"-->
<!--scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>-->
<!--iframe内联框架
src:地址
name:可随意定义
width:宽度
height:高度
确实感觉没什么用啊,定义这个name="hello"
-->
<iframe src="https://www.bilibili.com/" name="hello" frameborder="0" width="500px" height="300px"></iframe>
<!--<a href="1、我的第一个HTML.html" target="hello">点击跳转</a>-->
</body>
</html>
表单语法(重点)
【注意点】input项必须在form之内
- 文本框和多选框
- 按钮和多选框
- 列表框文本域和文件域
- 邮箱验证
- URL验证
- 数字验证
- 滑块
- 搜索框
- 增强鼠标可用性
- 自定义邮箱
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单学习</title>
</head>
<body>
<h1>注册</h1>
<!--表单form
method:get/post,提交方式
get方式提交:我们可以在url中看到提交的信息,高效但不安全,不能传输大文件
post方式提交:url中不会显示提交的用户名密码等信息,可以传输大文件
action:表单提交的位置,可以是网站,也可以是一个请求处理地址
三大关键字:
readonly 只读
disabled 禁用
hidden 隐藏
-->
<form method="post" action="1、我的第一个HTML.html">
<!--文本框 input type="text"
value:默认初始值
maxlength:输入内容的最大长度、字符数
size:文本框的大小/长度,如果不写,默认20
-->
<p>用户名:<br/>
<input type="text" name="username" value="" placeholder="请输入用户名" required maxlength="8" size="20"></p>
<!--密码框 input type="password可见性如何自行设置,不对外展示可见可选-->
<p>密 码:<br/>
<input type="password" name="pwd" hidden></p>
<!--radio单选框
value:单选框的值,后面的“男”只是修饰
name:同样的name表示在一个组中
两个都能选,显然不合理,设置同样的name,将两者加入组中-->
<p>性别:
<input type="radio" value="boy" name="sex" checked disabled/>男
<input type="radio" value="girl" name="sex"/>女
</p>
<!--多选框
input type="checkbox"
checked 默认选中的
-->
<p>爱好:
<input type="checkbox" value="sleep" name="hobby">睡觉
<input type="checkbox" value="code" name="hobby" checked>敲代码
<input type="checkbox" value="game" name="hobby">打游戏
<input type="checkbox" value="chat" name="hobby">聊天
</p>
<!--按钮
input type="button" 传统按钮
input type="image" 图片按钮
input type="submit" 提交按钮
input type="reset" 重置按钮
-->
<p>按钮:
<input type="button" value="btn1" name="提交">
<!--<input type="image" src="../resources/images/tiger.jpg">-->
</p>
<!--下拉框 列表框
关键字select option
selected选项的默认值
-->
<p>国家:
<select name="列表名称" >
<option value="CHINA" selected>中国</option>
<option value="AMERICA">美国</option>
<option value="JAPAN" >日本</option>
<option value="ETH">瑞士</option>
</select>
</p>
<!--文本域 name="textarea" id="" cols="50" rows="10">文本内容-->
<p>反馈:
<textarea name="textarea" id="" cols="50" rows="10">文本内容</textarea>
</p>
<!--文件域 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>
<input type="url" name="url">
</p>
<!--数字验证-->
<p>年龄:
<input type="number" name="num" max="100" min="0" step="1">
</p>
<!--滑块-->
<p>音量:
<input type="range" value="voice" min="0" max="100" step="5">
</p>
<!--搜索框-->
<p>搜索:
<input type="search" name="search" id="mark">
</p>
<!--增强鼠标可用性 指向一个id标记位置-->
<p>
<label for="mark">你点我试试</label>
<input type="text">
</p>
<p>自定义邮箱
<input type="text" name="diymail" pattern="^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$">
</p>
<p>
<input type="submit">
<input type="reset" value="清空表单">
</p>
</form>
</body>
</html>
表单的应用
- 隐藏域 hidden
- 只读 readonly
- 禁用 disabled
表单初级验证
为什么要进行表单验证?
- 减轻服务器压力
- 保证数据的安全性
【常用方式】
- placeholder(提示信息)
- required(要求必须填写内容,非空)
- pattern(正则表达式)