Html知识点

本文详细介绍了HTML5中的行内标签、块级标签、表单标签和新特性,包括a标签、span标签、strong标签、img标签、div标签、p标签、标题标签、列表标签、form标签、input标签、audio标签、video标签以及HTML5的新表单类型和本地存储。学习这些基础知识对理解HTML5和前端开发至关重要。
摘要由CSDN通过智能技术生成

目录

1.考点

2.关键

2.1.对知识熟练使用

2.2调试

3.行内标签

3.1.a标签 

3.2.target 属性

3.3.span

3.4.strong 标签的介绍

3.5.img 标签的介绍

3.6.align 属性的使用

3.7.title 属性的使用

3.8.总结

4.块级标签

4.1.知识点

4.2.div

4.3.p标签

4.4.标题标签

4.5.列表标签

4.5.1.有序列表

4.5.2.无序列表的使用

4.5.3.自定义列表的使用

5.表单标签

5.1.知识点

5.2.认识 form 标签

5.3.input 标签

5.3.1.文本类表单元素

5.3.2.选择类表单元素

 5.2.3.文件和发送类型表单

5.2.4.下拉列表

 6.HTNL5新特性

6.1.知识点

6.2.基本语义化标签

6.3.多媒体标签

6.3.1.audio 标签

6.3.2.video 标签

 6.4.新表单类型-email

6.5.新表单类型-url

6.6.新表单类型-number

6.7.新表单类型-range

6.8.新表单类型-date

6.9.新表单类型-search

6.10.新表单类型-color

6.11.新属性-form

6.12.新属性-autofocus

6.13.新属性-autocomplete

6.14.新属性-placeholder

7.HTML5本地存储

7.1.知识点

7.2.localStorage

7.3.sessionStorage

7.4.实验总结


1.考点

2.关键

2.1.对知识熟练使用

2.2调试

3.行内标签

3.1.a标签 

a 标签:

  • 用于页面之间的跳转。
  • 用于链接电话、邮箱等。
  • 用于文档书签。

3.2.target 属性

在 a 标签中还有个 target 属性可以用来规定打开链接文档的位置,它有如下表所示的几种属性值。

属性值描述
_blank在新窗口中打开被链接文档。
_self在相同的框架中打开被链接文档。
_top在整个窗口中打开被链接文档。
_parent在父框架集中打开被链接文档。

其使用格式为:

<a target="_blank|_self|_top|_parent"></a>

我们来举个例子

新建一个 index5.html 文件,在文件中写入以下内容。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    blank <a href="https://www.lanqiao.cn" target="_blank">蓝桥云课</a><br />
    top <a href="https://www.lanqiao.cn" target="_top">蓝桥云课</a>
  </body>
</html>

3.3.span

span 标签是用来组合文档中行内元素的,比如你在文档中写入一些文字,页面会以默认样式输出这些文字,若我们想给这段话中的某些词语添加不一样的字体颜色,这时我们可以用 span 标签去包裹这些词语,然后通过 span 标签去设置字体颜色。

其使用格式如下:

<span></span>

span 标签就像一个透明的盒子,我们可以把多个盒子放在架子的同一行。

span 标签本身没有特殊之处,若不结合 CSS 来使用的话,我们使用其标签就没有意义了。比如:我们的 body 标签中只有一对 span 标签和一些文字内容,可以看到这与不添加标签直接写入文字内容是一样的效果。

<span>1</span>
<span>2</span>
<span>3</span>

但当我们使用 CSS 给 span 元素加上背景颜色,同一行的元素就拥有了自己的独特气质。

<span style="background-color:cornflowerblue">1</span>
<span style="background-color: chartreuse;">2</span>
<span style="background-color: goldenrod;">3</span>

style 是设置 CSS 样式的属性,background-color 是设置元素背景颜色的属性,属性冒号后面的内容是背景颜色的属性值。

关于 CSS 样式属性,这属于后面学习的内容,同学们这里先了解一下,具体内容我们后面会细讲。

3.4.strong 标签的介绍

平时我们浏览网站,会发现网页上字的粗细是不同的,有时候为了让某些词句成为我们关注的焦点,我们会把文字加粗。

在 HTML 中,可以使用 strong 标签来给文字加粗。

使用格式如下:

<strong></strong>

例如:

<strong>塔克拉玛干大沙漠</strong>是中国最大的沙漠。

3.5.img 标签的介绍

在 HTML 中,我们用 img 标签来插入图片,它负责向页面中嵌入一幅图像。

准确来讲,img 标签并不会在页面中真正插入图像,而只是提供一个链接地址,通过链接来显示出图像。所以,img 标签创建的是被引用图像的占位空间。

其使用格式为:

<img src="图像 URL" alt="图像描述" />

属性说明如下:

  • src 属性定义了图像的链接地址。
  • alt 属性则当图像无法显示时,替代显示的文本。

另外,在 img 标签里可以用 width 属性来设置图片的宽度,用 height 属性来设置图片的高度。

我们设置了固定的宽和高后,在不同大小的窗口所看到的图片大小就相同了。

例如:

<body>
  <img
    src="https://labfile.oss.aliyuncs.com/courses/4421/wijdan-mq-H5yiRXDUkto-unsplash.jpeg"
    alt="礼物"
    width="400px"
    height="270px"
  />
</body>

3.6.align 属性的使用

同学们有没有发现,图片都是居左显示到页面上的,如果我们想让图片居中或者局右显示,该怎么办呢?

align 属性能用来规定如何根据周围的文本来排列图像的位置,其属性值如下所示:

属性值说明
top顶部对齐
bottom底部对齐
middle居中对齐
left居左对齐
right居右对齐

例如,我们让一张图片居左和居右显示在 index9.html 中写入以下代码。

使用以下命令获取需要的图片。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <img src="icons8-home-64.png" align="left" width="80" />
    <img src="icons8-home-64.png" align="right" width="80" />
  </body>
</html>

点击预览页面,实验效果如下:

注意:虽然大部分浏览器支持 align 属性,但 HTML 4.0 不推荐使用该属性,并且 HTML 5 也不支持该属性了。由于我们还没有学习 CSS,所以讲解了该属性,同学们了解即可。

3.7.title 属性的使用

在 img 标签中,还可以使用 title 属性给元素增加额外的提示信息。什么意思呢?🤔

当你把鼠标移到元素上会显示出现一段提示文本。

3.8.总结

本节实验为大家介绍了常用的行内标签的用法,这里我们来总结一下。

a 标签:

  • 用于页面之间的跳转。
  • 用于链接电话、邮箱等。
  • 用于文档书签。

span 标签没有固定的表现格式,它就像一个透明的盒子,当加入 CSS 代码时,它才会产生视觉上的变化。span 标签最大的特点时可以把很多标签放在同一行。

strong 标签用于给文字加粗。

img 标签用于在页面中显示图片。

学了这四个标签,你会发现这四种标签可以显示在同一行,这就是行内元素的特点了。在下面的内容中,我们还会学到块级元素,等学完块级元素我们就能理解为什么要这样给元素分类了。

4.块级标签

4.1.知识点

  • div 标签
  • p 标签
  • 标题标签
  • 列表标签

4.2.div

在 HTML 中,div 标签是最重要的一个块级元素,它可以是组合其他 HTML 元素的容器,相当于是个透明的盒子,可以把其他标签放在里面。

div 标签没有特定的含义,它主要是用于实现页面布局操作。如果与 CSS 一同使用,div 标签可用于对内容块设置样式属性。

同学们有没有发现这个特性有点像我们之前介绍的 span 标签,它们的区别在于 span 是行内元素,可以和其他元素共处一行,而 div 是块级元素,无论大小都不允许其他元素占自己的地盘,

4.3.p标签

我们在 Word 中写几段话,直接 return 就可以分段了,但是在 HTML 中,如果你在 body 中用此方法分段,会发现页面将几段话呈一段显示。例如:

那怎么办呢?

在 HTML 中为我们提供 p 标签来分段,添加 p 标签效果如下:

对于段落标签,有一个可选的属性 align,用于表示段落相对浏览器窗口在水平位置上的对齐方式。它有三个可取值,每个可取值的含义如表所示:

属性值说明
left段落左对齐
right段落右对齐
center段落居中对齐

注意:虽然大部分浏览器支持 align 属性,但 HTML 4.0 不推荐使用该属性,并且 HTML 5 也不支持该属性了。由于我们还没有学习 CSS,所以讲解了该属性,同学们了解即可。

4.4.标题标签

这里的标题标签不是我们之前讲过的 <title>,而是能够在页面上用于标题显示的 <hn> 系列标签。在 HTML 中一共有六级标题,用 <h1> ~ <h6> 来表示,其中 <h1> 的标题字号最大,依次递减。

在浏览器解析标题标签时,会将标题内容设为一个段落,字体设为黑体,字号大小根据 n 值的大小确定。

例如:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>一级标题</h1>
    <h2>二级标题</h1>
    <h3>三级标题</h1>
    <h4>四级标题</h1>
    <h5>五级标题</h1>
    <h6>六级标题</h1>
</body>
</html>

点击预览页面,实验效果如下:

从预览效果中我们可以看到,随着标题标签的级数增大,字体是越来越小的。

我们已经说过标题标签只有 h1~h6,这六种,那如果我们设置 hn,其 n > 6 会发生什么呢?🤔 空想是毫无用处的,我们用代码来测试一下吧!👻

新建 index3.html 文件,我们从 h1 写到 h8。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>一级标题</h1>
    <h2>二级标题</h1>
    <h3>三级标题</h1>
    <h4>四级标题</h1>
    <h5>五级标题</h1>
    <h6>六级标题</h1>
    <h7>七级标题</h7>
    <h8>八级标题</h8>
    <p>段落标签</p>
</body>
</html>

点击预览页面,实验效果如下:

从效果中,我们可以看出 h7、h8 标签中的内容显示在一行,其字体大小是默认的文本字体大小。

4.5.列表标签

列表标签一共有三种,分别是:

  • 无序列表
  • 有序列表
  • 自定义列表

4.5.1.有序列表

有序列表就是使用项目符号来标识项目,比如日常我们需要步骤化的操作,可以使用有序列表来表示。

其基本用法为:

<ol>
  <li>项目一</li>
  <li>项目二</li>
  <li>项目三</li>
</ol>

从上面截图可以看到有序列表的默认是从 1 开始的数字排序。我们可以使用 type 属性来改变排序符号,取值如下所示:

属性值说明
A用大写字母作为排序符号
a用小写字母作为排序符号
I用大写罗马字符作为排序符号
i用小写罗马字符作为排序符号
1用数字作为排序符号

我们默认都是从第一个字母或数字开头来排序的,其实我们可以通过 start 属性,来自定义起始排序符号。start 属性必须要配合 type 属性来使用。例如:

<!--从第 4 个大写罗马数字开始排序-->
<ol type="I" start="4">
  <li>项目一</li>
  <li>项目二</li>
  <li>项目三</li>
</ol>

4.5.2.无序列表的使用

在 HTML 文档中,所谓无序列表,是指以实心圆 ●(默认)、空心圆 ○、实心方块 ■ 开头的,没有顺序的列表项目。比如,有时候我们会用无序列表的形式来做一个总结,这样会让内容看起来更加清晰。

基本用法为:

<ul>
  <li>项目一</li>
  <li>项目二</li>
  <li>项目三</li>
</ul>

我们使用 type 属性可以修改列表开头的符号,其取值如下:

属性值说明
disc实心圆 ●
circle空心圆 ○
square实心方块 ■

4.5.3.自定义列表的使用

自定义列表跟前两种列表有些区别,用 dl 标签表示自定义列表,其中的 dt 是代表列表项,而 dd 是列表项的描述。比如:我们需要对列表项的内容进行解释的时候,就可以使用自定义列表了。

基本用法为:

5.表单标签

5.1.知识点

  • form 标签
  • input 标签
  • select 标签
  • option 标签

5.2.认识 form 标签

表单是用来描述需要用户输入的页面内容,在用户输入具体信息后,提交到指定位置进行处理。例如下面蓝桥杯大赛官网的登录页面。

当我们正确填写输入框的信息后,点击「登录」按钮,会在某处验证你的信息是否正确,若正确则登录成功,跳转到登录后的页面,否则登录失败。

在 HTML 文档中,使用 form 标签来进行表单提交。form 标签有两个重要的属性,action 和 method 属性,其中 action 的属性值是表单提交的地址,method 的属性值是提交的方法。

其基本语法为:

<form action="表单提交地址" method="提交方法"></form>

method 属性规定了表单提交方式,最常用的有两种方式,分别是 GET 和 POST。其中 GET 是把表单中的参数放置在 HTTP 请求的头部发送给服务器,而 POST 是将请求参数置于请求体内发送。这部分内容属于 JavaScript 的内容,同学们先了解即可,在后面的章节会详细讲解。

5.3.input 标签

input 标签表示表单,其中它有不同的属性,用于表示不同的表单类型。

这里给大家介绍是四种类型的表单:

  • 文本类表单
  • 选择类表单
  • 文件上传类表单
  • 按钮表单

5.3.1.文本类表单元素

以文本框为代表的表单元素称之为文本类元素。

其基本使用格式为:

<input type="text" />

例如,填写用户名的输入框就适合用文本类型的输入框。

新建一个 index.html 文件,在其中写入以下内容:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <form>用户名:<input type="text" /></form>
  </body>
</html>

点击预览页面,效果如下:

5.3.2.选择类表单元素

选择类表单元素是指单选框复选框

  • 单选框就是给出多个选项只能选择其中一个。
  • 复选框就是给出多个选项可以选择多个。

单选框和复选框的使用格式如下所示:

<!--单选框-->
<input type="radio" name="选项名" value="提交值" />
<!--复选框-->
<input type="checkbox" name="选项名" value="提交值" />

注意:使用单选框时,每个选项一定要设置相同的 name 值,否则就没有单选的效果。

例如,选择性别的输入框就适合用单选框,选择兴趣爱好的输入框就适合用复选框。

新建一个 index1.html 文件,在其中写入以下内容:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <form>
      性别:<input type="radio" name="sex" value="male" />男
      <input type="radio" name="sex" value="female" />女 <br />
      爱好:<input type="checkbox" name="hobby" value="basketball" />篮球
      <input type="checkbox" name="hobby" value="football" />足球<br />
      <input type="reset" />
    </form>
  </body>
</html>

点击预览页面,效果如下:

⭐️ 对于 radio 类型元素来说,若 name 属性的取值相同,可以实现单选的效果,但 checkbox 不会因为 name 属性的取值相同变成单选。

上面代码中的 type="reset" 是重置按钮,可以把表单中已填写的信息给清除掉。

 5.2.3.文件和发送类型表单

想象一个场景,当我们填写一个电子简历需要上传附件文件到表单上,那么我们需要一个「上传文件」的按钮,选择目标文件后,点击「上传」按钮,上传到页面上。

在 HTML 中,我们使用 type="file" 表示文件类型表单元素,其使用格式为:

<input type="file" name="表单名字" accept="上传文件的格式" />

在 HTML 中,我们使用 type="submit" 表示发送类型表单元素,其使用格式为:

<input type="submit" name="表单名字" value="表单名" />

5.2.4.下拉列表

下拉列表就是一个鼠标放在目标框中,会出现多种选择的列表。例如:

在 HTML 中,通过 select 和 option 标签可以实现下拉列表框,select 标签用于显示可供用户选择的下拉列表,其中的每个选项都由 option 标签标识。

其语法格式为:

<select>
  <option>选项一</option>
  <option>选项二</option>
  <option>选项三</option>
</select>

select 有两个常用属性,如下所示:

属性描述
multiple设置下拉列表可以选择多项。
size设置下拉列表选择几个表项。

option 有两个常用属性,如下所示:

属性描述
selected设置是否被选中。
value设置列表项的默认值。

 

 6.HTNL5新特性

6.1.知识点

  • 基本语义化标签
  • 多媒体标签
  • HTML5 新属性

6.2.基本语义化标签

语义化标签就是把 HTML 文档中的元素划分到不同区域,每个区域有自己的含义。

我们可以把语义化标签想成一个房子里的不同区域,一套房子,有客厅、饭厅、卧室、厕所等,它们都属于房子里的一部分空间,不同的划分区域有不同的用处,比如,饭厅是用来吃饭的,我们通常不会在厕所里吃饭。

在 HTML5 中,提供了如下图所示的语义化标签,让我们可以更直观地看到页面的结构。

标签说明:

  • header 标签是头部区域。
  • nav 标签是导航区域。
  • article 标签是内容区域。
  • section 标签是文档中部分内容区域。
  • aside 标签是侧边内容栏区域。
  • footer 标签是底部信息区域。

例如,环球科学的首页,我们可以用语义化标签来划分一下结构。

由于这些标签本身只有一个块级元素的特点,如果不加入 CSS 样式,是没有任何效果的,这里我们不做练习,等学完 CSS 我们再进行练习。

6.3.多媒体标签

多媒体标签就是用于在页面中嵌入音频和视频的标签,主要有以下两个标签:

  • audio 标签
  • video 标签

6.3.1.audio 标签

在 HTML5 中,使用 audio 标签来播放声音文件或者音频流,该标签支持 Ogg、MP3、WAV 等音频格式。

其使用格式如下:

<audio src="URL" controls></audio>

参数说明:

  • src 属性用于指定要播放的声音文件。
  • controls 是 controls="controls" 简写形式,用于提供播放、暂停和音量控件。

除了上面两种属性,audio 标签还有以下属性可用:

  • autoplay 属性:音频自动播放。
  • loop 属性:音频自动重复播放。
  • preload 属性:用来缓冲 audio 标签的大文件,它有三个属性值 none(不缓冲)、auto(缓冲音频文件)、metadata (缓冲文件的元数据)。

source 标签

audio 标签还可以通过子标签 source 来进行多数据源的设置。

其使用格式如下:

<audio>
  <source src="URL" />
</audio>

一个 audio 标签可以包含多个 source 标签,当播放器无法识别当前格式的播放源时会调用下一个 source 播放源进行播放。

source 标签是用来指定多个文件,给不同的浏览器提供可支持的编码格式。

例如:

<audio>
  <source src="filename.opus" />
  <source src="filename.ogg" />
  <source src="filename.mp3" />
</audio>

6.3.2.video 标签

在有些网站的页面上会放上一些视频,我们点击视频就会播放,那么这是怎么实现的呢?🤔

在 HTML 中,提供了 video 标签向文档中嵌入媒体播放器。

语法格式如下所示:

<video controls>
  <source src="URL" />
</video>

我们举个例子来看看。😉

在终端输入以下命令来获取一个 .mp4 的文件。

wget https://labfile.oss.aliyuncs.com/courses/3582/video.mp4

新建一个 index1.html 文件,在其中写入以下代码:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <video muted controls>
      <source src="video.mp4" />
    </video>
  </body>
</html>

启动 8080 端口,打开 Web 服务,让我们一起看个动画片吧 😎 ~

同学们有没有注意到打开页面视频默认是静音状态?这是因为我加入了 muted 属性,如果你去掉该属性视频默认是有声播放。

给视频加上封面

有时候我们不想让别人一眼看出播放的视频内容,为了保持神秘,吊人胃口,我们可以给视频加上一个封面。

我们在 video 标签中加入 poster 属性即可给视频添加封面。

使用格式如下:

<video poster="URL"></video>

 6.4.新表单类型-email

email 类型用于邮件地址的输入,很明显,它只适用于邮箱输入。

使用格式如下:

<input type="email" />

我们来练习一下吧!

新建一个 index3.html 文件,在其中写入以下内容。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <form>
      email: <input type="email" />
      <input type="submit" value="提交" />
    </form>
  </body>
</html>

点击预览页面,效果如下:

从上面的效果我们可以看出,如果你输入的邮箱格式不正确,当你点击提交按钮时,会提醒你格式错误。

6.5.新表单类型-url

url 类型是专门用来输入网址的。

使用格式如下:

<input type="url" />

我们来练习一下吧!

新建一个 index4.html 文件,在其中写入以下内容。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <form>
      url: <input type="url" />
      <input type="submit" value="提交" />
    </form>
  </body>
</html>

点击预览,效果如下:

从上图可以看出,如果你输入的字符不是一个网址,点击提交后,会提示你这个输入框需要输入一个网址。

6.6.新表单类型-number

number 类型用于数字的输入。

number 类型表单有以下属性。

属性描述
max输入框允许的最大值。
min输入框允许的最小值。
step合法的数字间隔,例如 step=2,则合法为:2、4、6、8。
value默认值。

例如:

<input type="number" value="5" step="2" />

设置默认值为 5,步长为 2,每点 ⬆️ 一次,数字 + 2。

6.7.新表单类型-range

range 类型用于包含一定范围内数值的输入。

其使用格式为:

<input type="range" />

接下来我们练习一下吧!😁

新建一个 index6.html 文件,在其中写入以下内容。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <form>
      number: <input type="range" />
      <input type="submit" value="提交" />
    </form>
  </body>
</html>

点击预览页面,效果如下:

6.8.新表单类型-date

date 是用来选取年、月、日的类型。

其使用格式为:

<input type="date" />

datetime-local 是用来选取年、月、日和本地时间。

其使用格式为:

<input type="datetime-local" />

这里我们用 date 和 datetime-local 两个日期选择控件来做一下练习。

新建一个 index7.html 文件,在其中写入以下内容。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <form>
      date: <input type="date" /> <br />
      datetime-local:<input type="datetime-local" /> <br />
      <input type="submit" value="提交" />
    </form>
  </body>
</html>

点击预览页面,实验效果如下:

 

search 类型的 input 标签提供用于输入搜索关键字的文本框,从外观看 search 和 text 是一样的,功能也是相近的可以输入任意的字符串。

使用格式如下:

<input type="search" />

我们来练习一下吧!💪

新建 index8.html 文件,在其中写入以下内容。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <form>
      search: <input type="search" />
      <input type="submit" value="提交" />
    </form>
  </body>
</html>

点击预览页面,效果如下:

从例子中,同学们似乎也不能从外观和功能上能发现 search 类型和 text 类型的区别。那么我们为何还要学 search 类型呢?🤔

如果使用不同的浏览器去看,就会发现有细微的差异,比如 Chrome 浏览器给 search 类型的输入框提供了清空按钮。如果在移动端的话,虚拟键盘会根据不同类型的输入框给出不同的反应。还有就是起到语义化的作用,我们一眼能够明白这里的 input 是起到搜索的效果。

6.10.新表单类型-color

color 类型是 input 标签提供的专门用于设置颜色的文本框。通过单击文本框可以打开一个调色板,用户可以在面板中选择需要的颜色。不同的操作系统打开的拾色面板也不相同。

我们来练习一下吧!💪

index9.html 文件,在其中写入以下内容。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <form>
      color: <input type="color" />
      <input type="submit" value="提交" />
    </form>
  </body>
</html>

点击预览页面,实验效果如下:

6.11.新属性-form

HTML5 中 input 标签新增了一个 form 属性,通过该属性可以将表单元素绑定到指定的 form 标签上,这样就可以灵活进行布局,同时一个表单元素可以从属于多个表单,这就让表单和表单元素的组合变得更加灵活。

我们来练习一下吧!💪

新建 index10.html 文件,在其中写入以下内容。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <form id="myForm1" action="#" method="GET"></form>
    <form id="myForm2" action="#" method="POST"></form>
    提交到 myForm1:<input type="text" form="myForm1" name="myForm1" />
    <input type="submit" value="提交" form="myForm1" />
    提交到 myForm2:<input type="text" form="myForm2" name="myForm2" />
    <input type="submit" value="提交" form="myForm2" />
  </body>
</html>

点击预览页面,实验效果如下:

我们把第一个 text 类型的输入框绑定到 myForm1 上,我们把第二个 text 类型的输入框绑定到 myForm2 上。

 

6.12.新属性-autofocus

打开一个页面,当某个文本框需要获得光标焦点时,可以使用 autofocus 属性来实现。

例如,百度搜索页面,用户的鼠标点击搜索栏会获得光标焦点,用户直接输入需要搜索的内容即可,这种设置可以很好地提高用户体检。

我们来练习一下吧!💪

新建 index11.html 文件,在其中写入以下内容。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <form>
      <input type="text" autofocus /> <input type="submit" value="搜索" />
    </form>
  </body>
</html>

点击预览页面,效果如下:

6.13.新属性-autocomplete

autocomplete 属性是用来规定表单是否应该启用自动完成功能。

自动完成功能就是当用户输入一次数据过后,再次输入相同的数据时可以自动补全内容。

autocomplete 属性包括两个属性值:on、off。

其语法格式为:

<form autocomplete="on"></form>

on 为默认值,意思是启用自动完成功能。

<form autocomplete="off"></form>

off 为禁用自动完成功能。

我们来练习一下吧!💪

新建 index12.html 文件,在其中写入以下内容。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <form autocomplete="on">
      您最喜欢前端技术: <input type="text" list="selectList" />
      <datalist id="selectList">
        <option>html</option>
        <option>css</option>
        <option>js</option>
        <option>vue</option>
      </datalist>
      <input type="submit" />
    </form>
  </body>
</html>

点击预览页面,效果如下:

6.14.新属性-placeholder

placeholder 属性规定可描述输入字段预期值的提示信息,也就是说设置了该属性,它会提示用户设置的输入值。

其语法格式为:

<input placeholder="text" />

我们来练习一下吧!💪

新建 index.html 文件,在其中写入以下内容。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <form>
      <input type="text" placeholder="姓名" />
      <input type="text" placeholder="性别" />
    </form>
  </body>
</html>

打开预览页面,效果如下。

 

7.HTML5本地存储

7.1.知识点

  • localStorage
  • sessionStorage

7.2.localStorage

localStorage 对象是 HTML 5 新增的特性,主要用于本地存储。

说到在本地存储数据,大家第一个联想到的应该是 cookie 吧。

那么,它们有什么区别呢?👇

localstorage 与 cookie 的区别:

  • localStorage 解决了早期使用 cookie 存储遇到的存储空间不足的问题( 每条 cookie 的存储空间为 4k );
  • localStorage 一般浏览器支持的是 5M 大小,具体存储大小根据浏览器的不同会有所不同。
  • 并且相较于 cookie 而言,localStorage 中的信息不会被传输到服务器。

好了,接下来让我们来看看如何使用 localStorage 吧!

localStorage 对象提供的方法如下:

方法说明
setItem(key,value)保存数据到本地存储
getItem(key)从本地存储获取数据
removeItem(key)根据指定 key 从本地存储中移除数据
clear()清除所有保存数据

新建一个 index.html 文件,然后在文件中写入以下内容:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script>
      // 语句 1: 保存数据到本地存储
      localStorage.setItem("ExpireTime", "1527592757");
      localStorage.UserId = "2021008";
      // 语句 2: 根据指定名称获取本地存储中的数据
      var expireTime = localStorage.getItem("ExpireTime");
      console.log(expireTime);
      // 语句 3: 根据指定名称从本地存储中移除
      localStorage.removeItem("ExpireTime");
      // 语句 4: 清除本地存储中所有数据
      localStorage.clear();
    </script>
  </head>

  <body></body>
</html>

最后,启动 8080 端口,打开 Web 服务。

接下来,根据让我们根据执行语句的顺序(对照注释中标注的语句序号阅读)依次来看执行的效果。

执行语句 1

语句 1 中的两种方式都可以完成数据的存储。

执行完成后,打开浏览器开发人员调试工具,“Application” 面板下,左侧菜单项 “Storage” → “localStorage”。

即可看到所保存的数据,如下所示:

执行语句 2

使用 getItem() 方法,根据名称获取 value 值,打开浏览器开发人员调试工具,找到 Console 面板。

即可看到输出结果:

执行语句 3

使用 removeItem() 方法根据指定名称删除数据;

执行完成后,再次打开浏览器开发人员调试工具,找到 “Application” 面板下,左侧菜单项 “Storage” → “localStorage”。

效果如下:

执行语句 4

使用 Clear() 方法清空所有数据;

执行完成后,再次打开浏览器开发人员调试工具,找到 “Application” 面板下,左侧菜单项 “Storage” → “localStorage”。

效果如下:

7.3.sessionStorage

localStorage 和 sessionStorage 对象作为 HTML5 新增的特性,都可以用来存储客户端临时信息,并且二者存储的数据格式均为 key/value 键值对数据。

sessionStorage 对象提供的方法与 localStorage 对象相同,具体如下:

方法说明
setItem(key,value)保存数据到本地存储
getItem(key)从本地存储获取数据
removeItem(key)根据指定 key 从本地存储中移除数据
clear()清除所有保存数据

那么localStorage 和 sessionStorage 二者有什么区别呢?🤔️

💡 他们的区别在于:

localStorage 的生命周期是永久的,除非用户清除 localStorage 信息,否则这些信息将永远存在。

sessionStorage 的生命周期是临时的,一旦当前窗口或标签页被关闭了,那么通过它存储的数据也就被清空了。

了解了 sessionStorage 对象的概念后,接下来让我们一起学习下 sessionStorage 的使用吧!

新建一个 index1.html 文件,在文件中写入以下内容:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script>
      // 语句 1: 保存数据到本地存储
      sessionStorage.setItem("ShopId", "SH1290333211");
      sessionStorage.ShopNumber = "10";
      // 语句 2: 根据指定名称获取本地存储中的数据
      var ShopId = sessionStorage.getItem("ShopId");
      console.log(ShopId);
      // 语句 3: 根据指定名称从本地存储中移除
      sessionStorage.removeItem("ShopId");
      // 语句 4: 清除本地存储中所有数据
      sessionStorage.clear();
    </script>
  </head>

  <body></body>
</html>

启动 8080 端口,打开 Web 服务,接下来,根据执行语句顺序(对照注释中标注的语句序号阅读)依次来看执行效果。

执行语句 1

语句 1 中的两种方式都可以完成数据的存储。

当语句 1 执行后,打开浏览器开发人员调试工具,找到 Application 面板下,左侧菜单项 Storage → sessionStorage,即可看到所保存的数据。

🌟 需要注意的是,上图中所出现的 Key 为 IsThisFirstTime_Log_From_LiveServer 的数据是由于启动 Web 服务,使用了 LiveServer 所产生,这里不用进行关注。

执行语句 2

语句 2 中使用 getItem() 方法,根据名称获取 value 值,打开浏览器开发人员调试工具,找到 Console 面板,即可看到输出结果。

执行语句 3

语句 3 中使用 removeItem() 方法根据指定名称删除数据,执行完成后,再次打开浏览器开发人员调试工具,找到 “Application” 面板下,左侧菜单项 “Storage” → “sessionStorage”,效果如下。

执行语句 4

语句 4 中使用 Clear() 方法清空所有数据,执行完成后,再次打开浏览器开发人员调试工具,找到 “Application” 面板下,左侧菜单项 “Storage” → “sessionStorage”,效果如下。

7.4.实验总结

在本节实验中给大家介绍了 HTML5 中本地存储两种 API,分别是 localStorage 和 sessionStorage。

虽然使用 localStorage 和 sessionStorage 对象都可以轻松进行数据的存储与取出,但是两者之间也是有区别的,它们的区别在于页面刷新后,对于 sessionStorage 来说,浏览器会清空数据,而对于 localStorage,数据仍然保留在浏览器中。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值