HTML
1.初识HTML
-
HTML
Hyper Text Markup Language(超文本标记语言)
超文本包括文字、图片、视频、音频、动画等。
现在用的是HTML5。
ECMScript是JavaScript需要遵守的规范
面试可能问到的问题:
- W3C是什么
- W3C标准包括什么
前端的最常用的IDE:WebStorm
2.网页基本信息
注释:
<!--DOCTYPE:(文档类型)告诉浏览器,我们要使用什么规范,默认是HTML5,因此可以省略不写-->
<!--Ctrl + / 是注释的快捷键-->
<!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标签代表网页主体-->
</body>
</html>
3.网页基本标签
- 标题标签
- 段落标签
- 换行标签
- 水平线标签
- 字体样式标签
- 注释和特殊符号
<!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>
<!--水平线标签-->
<hr/>
<!--换行标签-->
两只老虎,两只老虎,<br>
跑得快,跑得快,<br>
一只没有耳朵,<br>
一只没有尾巴,<br>
真奇怪!真奇怪!<br>
<!--粗体、斜体-->
<h1>字体样式标签</h1>
粗体: <strong>I love you!</strong>
斜体: <em>I love you!</em>
<br/>
<!--特殊符号-->
空格:空 空 空 空 <br/>
大于号:> <br/>
小于号:< <br/>
版权符号:©版权所有 <br/>
<!--特殊符号记忆方式:
& 开头
; 结尾
通过&加一个字母调用,随用随查
-->
</body>
</html>
4.图像标签
常见的图像格式:
- JPG
- GIF
- PNG
- BMP(位图)
- …
<img src=“图像路径” alt=“图像的替代文字” title=“鼠标悬停文字” width=“图像宽度” height=“图像高度”>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图像标签</title>
</head>
<body>
<!--img标签学习
src:图片地址
相对地址:../ 代表上一级目录
绝对地址:盘符开始,不推荐
alt:必填的,图片名字 ,当图片找不到时,无法显示图片就会显示图片名字
-->
<img src="../resource/image/img1.jpg" alt="请回答1988" title="悬停文字" width="300" height="200">
</body>
</html>
5.链接标签
- 文本超链接
- 图像超链接
<a href=“链接路径” target=“目标窗口的位置:常用_self、_blank”>链接的文本或图像</a>
链接类型:
- 页面链接
- 锚链接
- 功能性链接
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>链接标签</title>
</head>
<body>
<!--使用name作为标记-->
<a name="top">顶部</a>
<!--链接标签a
href:必填,表示要跳转到哪个页面
a标签中可以嵌套其他标签,如img,表示点击图片跳转
target:表示窗口在哪里打开
_bank:在新标签页打开
_self:在自己的网页打开,默认的打开方式
-->
<a href="https://www.baidu.com">点击我跳转页面1</a><br>
<a href="图像标签.html" target="_blank">点击我跳转页面2</a>
<br>
<a href="https://www.baidu.com">
<img src="../resource/image/img1.jpg" alt="请回答1988" title="悬停文字" width="300" height="200">
</a><br>
<p>
<a href="https://www.baidu.com">
<img src="../resource/image/img1.jpg" alt="请回答1988" title="悬停文字" width="300" height="200">
</a><br>
</p>
<p>
<a href="https://www.baidu.com">
<img src="../resource/image/img1.jpg" alt="请回答1988" title="悬停文字" width="300" height="200">
</a><br>
</p>
<!--锚链接
1.需要一个锚标记 <a name="标记名">
2.跳转到标记 使用#加标记名,<a href="#标记名"></a>
#
-->
<a href="#top">回到顶部</a>
<!--锚链接实现页面跳转-->
<!--博客中目录树的结构,即可用锚链接实现,点击跳转到指定位置-->
<a href="图像标签.html#down">跳到底部</a>
<!--功能性链接
邮件链接:mailto:
-->
<a href="mailto:2456871058@qq.com">点击联系我</a>
</body>
</html>
6.行内元素和块元素
- 块元素
- 无论内容多少,该元素独占一行
- p、h1-h6
- 行内元素
- 内容撑开宽度,左右都是行内元素的可以排在一行
- a、strong、em
7.列表标签
- 列表就是信息资源的一种展示形式。它可以使信息结构化和条理化,并且以列表的样式展示出来,以便浏览者能更快捷的获得相应的信息。
- 列表的分类:
- 无序列表
- 有序列表
- 自定义列表
<!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</li>
<li>C++</li>
</ol>
<hr/>
<!--无序列表
应用范围:导航、侧边栏...
-->
<ul>
<li>Java</li>
<li>Python</li>
<li>运维</li>
<li>前端</li>
<li>C</li>
<li>C++</li>
</ul>
<!--自定义列表
dl:标签
dt:列表名称
dd:列表内容
应用范围:公司网站底部
-->
<dl>
<dt>课程</dt>
<dd>Java</dd>
<dd>Python</dd>
<dd>C</dd>
<dd>C++</dd>
<dt>位置</dt>
<dd>北京</dd>
<dd>青岛</dd>
<dd>上海</dd>
<dd>广州</dd>
</dl>
</body>
</html>
8.表格标签
- 为什么使用表格
- 简单通用
- 结构稳定
- 基本结构
- 单元格
- 行
- 列
- 跨行
- 跨列
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表格标签</title>
</head>
<body>
<!--表格table
tr:行 rows
td:列
border:表格边框
colspam 跨列
rowspam 跨行
-->
<table border="1px">
<tr>
<!-- colspam 跨列 -->
<td colspan="3">1-1</td>
<td>1-4</td>
</tr>
<tr>
<!-- rowspam 跨行 -->
<td rowspan="2">2-1</td>
<td>2-2</td>
<td>2-3</td>
<td>2-4</td>
</tr>
<tr>
<td>3-2</td>
<td>3-3</td>
<td>3-4</td>
</tr>
<tr>
<td>4-1</td>
<td>4-2</td>
<td>4-3</td>
<td>4-4</td>
</tr>
</table>
</body>
</html>
练习
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r85xw32I-1645798991512)(https://gitee.com/songjie001/typora_pictures/raw/master/image-20220225144749473.png)]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Demo02</title>
</head>
<body>
<table border="2px">
<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>99</td>
</tr>
<tr>
<td>数学</td>
<td>99</td>
</tr>
</table>
</body>
</html>
9.媒体元素
-
视频元素 video
-
音频元素 audio
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>媒体元素</title>
</head>
<body>
<!--视频
src:资源路径
controls:显示控制台
autoplay:自动播放
-->
<video src="../resource/video/Vlog.mp4" controls autoplay></video>
<!--音频
src:资源路径
-->
<audio src="../resource/audio/GET.mp3" controls autoplay></audio>
</body>
</html>
10.页面结构分析
注意命名规范!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>页面结构</title>
</head>
<body>
<header>
<h2>网页头部</h2>
</header>
<nav>
<h2>网页导航</h2>
</nav>
<section>
<h2>网页主体</h2>
</section>
<footer>
<h2>网页脚部</h2>
</footer>
</body>
</html>
11.iframe内联框架
在一个网站里嵌入另一个
<iframe src=“引用页面地址” name=“框架标识名” ><iframe>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>内联框架</title>
</head>
<body>
<!--内联框架iframe
src:地址
width:宽度
height:高度
name:可以将iframe作为一个容器,指定容器干什么
-->
<iframe src="" name="hello" frameborder="0" width="1000px" height="800px"></iframe>
<a href="列表标签.html" target="hello">点击跳转</a>
<!--target可以在指定的内敛框架窗口中打开,指定name-->
<iframe src="https://space.bilibili.com/95256449/channel/seriesdetail?sid=393820" frameborder="0" width="1000px"
height="800px"></iframe>
<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>
12.表单
表单form
action:表单提交的位置,可以是网站,也可以是一个请求处理
method:post、get 提交方式
get方式提交:可以在url中看到我们提交的信息,不安全,高效
post方式提交:不可以在url中看到提交的信息,比较安全,可以提交大文件
-
name属性必填,所有表单元素都是需要一个name,提交后通过name获得
-
value是默认值
-
type:指定元素的类型
- text:文本框
- password:密码框
- radio:单选框
- checkbox:多选框
- submit:提交按钮
- reset:重置按钮
- button:普通按钮
- image:图片按钮
- file:文件域
文本框
input type=“text”
value = "请输入名字" 默认初始值
maxlength="8" 最长能写几个字符
size="30" 文本框的宽度
单选框
input type=“radio”
value:单选框的值
name:表示组
实现单选功能,要有组的属性,即name属性一样,表示一个组
多选框
input type="checkbox"
value:可选的值
name:表示组
checked:默认选中
按钮
1.自定义的普通按钮:input type="button"
name;唯一标识
value:按钮上显示的名称
2.图片按钮:input type="image"
src:图片路径
3.提交按钮:input type="submit"
4.重置按钮:input type="reset"
列表框(下拉框)
select
option:表示每个选项
value:选项的值
selected:表示默认选中
文本域
textarea
name:唯一标识
cols:多少列
rows:多少行
文件域
input type="file"
name:通过name属性上传
简单验证
邮件验证
input type="email"
name:自定义的标识
url验证
input type="url"
name:自定义的标识
数字验证
input type="number"
name:自定义的标识
max:最大值
min:最小值
step:点击上下箭头的增加步长
滑块
input type="range"
min:最小值
max:最大值
step:增加步长
name:标识
搜索框
input type="search"
name:唯一标识
表格代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录注册</title>
</head>
<body>
<h1>注册</h1>
<!--表单form
action:表单提交的位置,可以是网站,也可以是一个请求处理
method:post、get 提交方式
get方式提交:可以在url中看到我们提交的信息,不安全,高效
post方式提交:不可以在url中看到提交的信息,比较安全,可以提交大文件
-->
<form action="Demo01.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="password"></p>
<!--单选框
input type=“radio”
value:单选框的值
name:表示组
实现单选功能,要有组的属性,即name属性一样,表示一个组-->
<p>性别:
<input type="radio" value="boy" name="sex"/>男
<input type="radio" value="girl" name="sex"/>女
</p>
<!--多选框
input type="checkbox"
value:可选的值
name:表示组
checked:默认选中
-->
<p>爱好:
<input type="checkbox" value="sleep" name="hobby" checked>睡觉
<input type="checkbox" value="code" name="hobby">代码
<input type="checkbox" value="chat" name="hobby">聊天
<input type="checkbox" value="play game" name="hobby">游戏
</p>
<!--按钮
1.自定义的普通按钮:input type="button"
name;唯一标识
value:按钮上显示的名称
2.图片按钮:input type="image"
src:图片路径
3.提交按钮:input type="submit"
4.重置按钮:input type="reset"
-->
<p>按钮:
<input type="button" name="btn1" value="点击变长">
<input type="image" src="../resource/image/img1.jpg" name="btn2">
</p>
<p>
<input type="submit">
<input type="reset">
</p>
<!--下拉框、列表框
select
option:表示每个选项
value:选项的值
selected:表示默认选中
-->
<p>国家:
<select name="列表名称">
<option value="China" selected>中国</option>
<option value="USA">美国</option>
<option value="Russia">俄罗斯</option>
<option value="Ukraine">乌克兰</option>
</select>
</p>
<!--文本域
textarea
name:唯一标识
cols:多少列
rows:多少行
-->
<p>反馈:
<textarea name="textarea" cols="50" rows="10">文本内容</textarea>
</p>
<!--文件域
input type="file"
name:通过name属性上传
-->
<input type="file" name="files">
<input type="button" name="btn3">上传
<!--邮件验证
input type="email"
name:自定义的标识
-->
<p>邮箱:
<input type="email" name="email">
</p>
<!--url验证
input type="url"
name:自定义的标识
-->
<p>URL:
<input type="url" name="url">
</p>
<!--数字验证
input type="number"
name:自定义的标识
max:最大值
min:最小值
step:点击上下箭头的增加步长
-->
<p>数字:
<input type="number" name="number" max="100" min="0" step="10">
</p>
<!--滑块
input type="range"
min:最小值
max:最大值
step:增加步长
name:标识
-->
<p>音量:
<input type="range" min="0" max="100" step="2" name="voice">
</p>
<!--搜索框
input type="search"
name:唯一标识
-->
<input type="search" name="search">
</form>
</body>
</html>
13.表单的应用
- 隐藏 hidden
- 可以通过隐藏域传递一些默认值
- 只读 readonly
- 禁用 disabled
增强鼠标可用性
<!--增强鼠标可用性:点击文字即可以锁定到输入框-->
<p>
<label for="mark">你点我试试</label>
<input type="text" id="mark">
</p>
14.表单初级验证
- 常用方式:
- placeholder:提示信息
- required:非空判断,表示元素不能为空,必须填
- pattern:正则表达式
<p>名字:
<input type="text" name="username" placeholder="请输入用户名" required>
<input type="email" name="email" pattern="^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$">
</p>