其他分享
首页 > 其他分享> > HTML5学习总结

HTML5学习总结

作者:互联网

1、HTML 简介

1.1、网站、网页和浏览器

1.1.1、网站

网站是指在因特网上根据一定的规则,使用HTML等制作的用于展示特定内容相关的网页集合。

1.1.2、网页

网页是网站中的一“页”,通常是HTML格式的文件,它要通过浏览器来阅读。

网页是构成网站的基本元素,网页是由网页元素组成的,这些元素是利用html标签描述出来,它通常由图片、链接、文字、声音、视频等元素组成,然后通过浏览器解析来显示给用户的。通常我们看到的网页常见以.htm或.html后缀结尾的文件,因此将其俗称为HTML文件。

1.1.3、浏览器

浏览器是网页显示和运行的平台。常用的浏览器有IE、火狐(Firefox )、谷歌(Chrome ) 、Safari(苹果)和 Opera等,并称为五大浏览器。

浏览器内核(渲染引擎)︰负责读取网页内容,整理讯息,计算网页的显示方式并显示页面。

浏览器 内核 备注
IE Trident IE、猎豹安全、360极速浏览器、百度浏览器
firefox Gecko 火狐浏览器内核
Safari Webkit 苹果浏览器内核
chrome/Opera Blink chrome/opera浏览器内核。Blink其实是WebKit的分支。

1.2、HTML 和 HTML5

1.2.1 HTML

HTML 指的是超文本标记语言(HyperText Markup Language),它是用来描述网页的一种语言。HTML 不是一种编程语言,而是一种标记语言(markup language)。所谓的超文本,即它可以加入图片、声音、动画、多媒体等内容(超越了文本限制),还可以通过一个文件跳转到另一个文件(超链接文本)。

1.2.2、HTML5

HTML5 是 HTML 最新的修订版本,2014年10月由万维网联盟(W3C)完成标准制定,设计的主要目的是为了在移动设备上支持多媒体。HTML5 主要改进在添加了新元素、新属性、本地存储、完全支持CSS3等新,比如新的表单控件,calendar、date、time、email、url、search等。HTML5 仍处于完善之中,虽然大多数的浏览器已经提供了支持。


1.3、Web 标准

Web 标准不是某一个标准,而是一系列标准的集合。Web 标准的三个规范:结构(Structure)、表现(Presentation)和行为(Behavior),并且尽量的相分离。

标准 说明
结构(Structure) 结构用于对网页元素进行整理和分类,主要包括HTML、XHTML和XML等
表现(Presentation) 表现用于设置网页元素的版式、颜色、大小等外观样式,主要指的是CSS
行为(Behavior) 行为是指网页模型的定义及交互的编写,主要包括JavaScript和DOM(Document Object Model)

1.3.1、结构(Structure)

  1. HTML 是一个超文本标记语言,主要通过网页元素,例如图片、声音、动画、多媒体和链接等,对网页的结构进行划分,它采用了一系列的标签符号来控制输出的效果。

  2. XHTML 是 HTML 向 XML 的过渡语言,删除了部分表现层的标签,标准要求提高,有严谨的结构,所有标签必须关闭。如果是单独不成对的标签,在标签最后加一个"/"来关闭它。

  3. XML(eXtensible Markup Language)即可扩展标记语言,主要用于网络数据的转换和描述。XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,进行数据的传输。

1.3.2、表现(Behaivor)

表现标准语言主要是CSS(Cascading Style Sheets)层叠式样式表,通过CSS样式表,W3C创建CSS标准的目的是以CSS取代HTML表格式布局、帧和其他表现的语言,通过CSS样式可以使页面的结构标签更具美感、网页外观更加美观。

1.3.3、行为(Presentation)

行为是指页面和用户具有一定的交互,同时页面结构或者表现发生变化,标准主要包括对象模型(如W3C DOM)、ECMAScript并要求这三部分分离。

  1. DOM (Document Object Model)即文档对象模型的缩写,是一种与浏览器,平台,语言的接口,使得你可以访问页面其他的标准组件。简单理解,DOM 给予 Web 设计师和开发者一个标准的方法,让他们来访问他们站点中的数据、脚本和表现层对像。

  2. ECMAScript是ECMA(EuropeanComputer Manufacturers Association)制定的标准脚本语言(JAVAScript)


1.4、HTML基本骨架

<!-- 文档声明,声明当前文档遵循HTML5规范,作用就是告诉浏览器使用哪种HTML版本来显示网页。 -->
<!DOCTYPE html>
<!-- 定义文档显示的语言,英语为en,中文为zh-CN等,此定义会提示是否翻译,但不限制文档中使用的语言 -->
<html lang="en">
<!-- 超文本标记语言文件的标记符 -->
<html>
<!-- 定义文档的信息 -->
<head>
    <!-- 定义文档编码格式 -->
    <meta charset="UTF-8">
    <!-- 定义文档标题,显示在网页窗口的标题栏中 -->
    <title>Title</title>
</head>
<!-- 实体标记,网页中显示的内容 -->
<body></body>
</html>

2、HTML 基本标签

2.1、文档信息标签

2.1.1、定义文档信息

<!DOCTYPE html>
<html lang="en">
<head>
    <!-- 1. 定义文档编码格式 -->
    <meta charset="UTF-8">

    <!-- 2. 定义文档标题 -->
    <title>Title</title>

    <!-- 3. 定义文档描述 -->
    <meta name="description" content="文档信息标签学习"/>

    <!-- 4. 定义文档关键词 -->
    <meta name="keywords" content="title标签,meta标签,link标签,style标签,script标签"/>

    <!-- 5. 为所有链接设置默认地址和打开方式 -->
    <base href="https://www.baidu.com" target="_blank"/>
</head>
<body>

</body>
</html>

2.1.2、声明代码域和引入外部文件

<!DOCTYPE html>
<html lang="en">
<head>
    <!-- 1. 声明CSS代码域 -->
    <style></style>

    <!-- 2. 引入本地CSS样式文件 -->
    <link rel="stylesheet" type="text/css" href="../css/百度百科.css">

    <!-- 3. 声明js代码域 -->
    <script type="text/javascript"></script>

    <!-- 4. 引入本地js脚本文件  -->
    <script type="text/javascript" scr=""></script>

    <!-- 5. 引入网络上的js文件 -->
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"
            integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
            crossorigin="anonymous">
    </script>
</head>
<body>

</body>
</html>

2.2、文本标签

2.2.1、标题和段落标签

标题标签主要有6个,分别是<h1>~<h6>,作用是搜索引擎通过标题为网页的结构和内容编制索引,因此<h1>最重要,应该作为主标题,其余的作用依次递减。标题标签的特点是加黑加粗,独占一行,从<h1>~<h6>字体逐渐减小。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>博客园简介 - 代码改变世界 Coding Changes the World</h1>
    <h2>博客园简介 - 代码改变世界 Coding Changes the World</h2>
    <h3>博客园简介 - 代码改变世界 Coding Changes the World</h3>
    <h4>博客园简介 - 代码改变世界 Coding Changes the World</h4>
    <h5>博客园简介 - 代码改变世界 Coding Changes the World</h5>
    <h6>博客园简介 - 代码改变世界 Coding Changes the World</h6>
</body>
</html>

<p>文本</p>是一个段落标签,通过此标签可以将一个文本分割成若干段落,每个标签自动换行,标签内的文本不会随着编译器内的换行或者空格而变化,只有使用换行标签<br />或者转义空格符&nbsp;才可以进行换行或者空格。除此之外,还有大于号&gt、小于号&lt等。

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- 段落标签 -->
    <p>
        博客园创立于2004年1月,是一个面向开发者的知识分享社区。
        自创建以来,博客园一直致力并专注于为开发者 打造一个纯净的技术交流社区,推动并帮助开发者通过互联网分享知识,从而让更多开发者从中受益。
        博客园的 使命是帮助开发者用代码改变世界。
    </p>
    <p>
        Cnblogs.com was founded in 2004. <br />
        It is a knowledge-sharing community for developers. <br />
        Our mission is to help developers change the world by coding.
    </p>
</body>
</html>

2.2.2、文本格式化标签

文本格式化标签主要有水平线<hr />、换行<br />、空格&nbsp;、字体加粗<strong></strong>、字体倾斜<em></em>、下划线<u></u>和删除线<del></del>,其中,后面四个标签的作用主要是凸显文本的重要性。

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html" xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <hr />
    <p>
        <strong>Email</strong><em>:ad@cnblogs.com 或 bd@cnblogs.com</em><br />
        <ins>电话</ins><del>:0571-88079867(杭州)</del><br />
        <small>QQ:206423184</small><br />
        <sub>广告位示例</sub>
    </p>
</body>
</html>

2.2.3、容器标签div和span

<div></div> 标签可以把文档分割为独立的、不同的部分,没有语义。它是块级元素,单独占据一行,可用于组合其他 HTML 元素的容器,一般用它进行页面的布局,大大小小的盒子,通过CSS的定位和渲染后,使得整个网页的布局更加的美观。

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html" xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <p>这是一些文本。</p>
    <div style="color:#00FFFF">
        <h3>这是一个在 div 元素中的标题。</h3>
        <p>这是一个在 div 元素中的文本。</p>
    </div>
    <p>这是一些文本。</p>
</body>
</html>

<span></span> 标签是内联元素,可用作文本的容器,不会单独占据一行,没有语义。当与 CSS 一同使用时,可用于为部分文本设置样式属性。

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html" xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <p>我有一双
        <span style="color:gold">金色</span> 的
        <span style="font-size:50px">大眼睛</span>和
        <span style="color:blue">蓝色的头发</span>。
    </p>
</body>
</html>

2.3、图像和超链接标签

2.3.1、图像标签

<img /> 图像标签用于向当前页面引入一个外部图片,这个图像资源既可以是本地的,也可以是网络上的,图片格式不限,主要具有以下几个属性:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <img alt="本地资源" src="../images/a.jpg" title="真帅"><br/>
    <img alt="网络资源" src="https://www.icode9.com/i/l/?n=18&i=../1610676-20190715125809080-934042040.png"><br/>
</body>
</html>

2.3.2、超链接标签

<a></a> 标签用来设置超文本链接(超连接),点击链接可以从一张页面跳转到另一张页面。超连接可以是一个字、一幅图、一个页面或者当前文档的某个部分(锚点),同时里面里面还可以文件路径,点击时会自动下载,主要有以下几个属性:

默认情况下,链接将以以下形式出现在浏览器中:一个未访问过的链接显示为蓝色字体并带有下划线;访问过的链接显示为紫色并带上下划线;点击链接时,链接显示为红色并带上下划线。

注意:如果为这些超链接设置了 CSS 样式,展示样式会根据 CSS 的设定来显示。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <a href="https://www.cnblogs.com/mh20131118" target="_blank">外部链接</a><br/>
    <a href="TextTag.html" target="_selt">内部链接</a><br/>
    <a href="test.txt" target="_selt">下载链接</a><br/>
</body>
</html>

相比HTML4,HTML5做了很大的改进,摒弃之前a标签嵌套的繁琐,而是废除了name属性,改用id来定位锚点。就如同CSS,Jquery中的ID选择器定位页面DOM元素一样,通过ID快速跳转到指定锚点位置。同样的示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <a href="#d3">我在找OA系统</a><br/>
    <a id="d1">禅道项目管理软件</a>
    <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
    <a id="d2">蝉知企业门户系统</a>
    <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
    <a id="d3">然之协同办公系统</a>
    <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
</body>
</html>

HTML5这样修改最大的好处就是方便用户跳转任意元素,因为每个元素都可以设置ID属性,而无需再去嵌套a标签。也就是说,HTML5中所有设有id属性的标签元素都可直接当作锚点。使用选择器定位,这样也很符合前端人员书写CSS,Jquery的习惯,而且各大主流搜索引擎都已兼容该功能。


2.4、列表标签

列表标签就是在网页中将相关资料以条目的形式有序或者无序排列而形成的表。常用的列表有无序列表、有序列表和定义列表三种。另外,还有不太常用的目录列表和菜单列表。

2.4.1、无序列表

无序列表(Unordered List)是一个没有特定顺序的相关条目(或称为列表项)的集合。在无序列表中,各个列表项之间属并列关系,没有先后顺序之分,它们之间以一个项目符号来标记。

在HTML中,可以使用成对的<ul></ul>标记插入无序列表,其中的列表项标记<li></li>(list-items)用来定义列表项序列。

使用无序列表标记的type属性,可以指定出现在列表项前的项目符号的样式,其取值以及相对应的符号样式如下(HTML5中已经废除了):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- 1.无序列表 -->
    <h4>中国四大电商</h4>
    <ul>
        <li><a href="https://www.taobao.com" target="_blank">淘宝</a></li>
        <li><a href="https://www.jd.com" target="_blank">京东</a></li>
        <li><a href="https://www.suning.com" target="_blank">苏宁</a></li>
        <li><a href="https://www.pinduoduo.com" target="_blank">拼多多</a></li>
    </ul>
</body>
</html>

2.4.2、有序列表

有序列表(Ordered List)是一个有特定顺序的相关条目(或称为列表项)的集合。在有序列表中,各个列表项有先后顺序之分,它们之间以编号来标记。

在HTML中,可以使用成对的<ol></ol>标记插入有序列表,其中的列表项标记<li></li>(list-items)用来定义列表项序列。

使用有序列表标记的type属性,可以指定出现在列表项前的项目编号的样式,其取值以及相对应的符号样式如下:

通常,在指定列表的编号样式后,浏览器会从1、a、A、ⅰ、Ⅰ开始自动编号。而在使用有序列表标记的start属性后,用户则可改变标号的起始值。start属性值是一个整数,表示从哪一个数字或字母开始编号。

除了对列表标记<ol></ol>进行属性设置外,还可以对列表项标记<li></li>进行属性设置。使用列表项标记<li></li>的type属性,可以指定单个列表项的符号(对于无序列表而言)或编号(对于有序列表而言)。在列表标记<ol></ol>的type属性和列表项标记<li></li>的type属性发生冲突的情况下,所指定的单个列表项遵循<li></li>的type属性进行设置(HTML5已删除列表项的type属性)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- 2.有序列表 -->
    <h4>中国四大电商</h4>
    <ol type="A" start="2">
        <li><a href="https://www.taobao.com" target="_blank">淘宝</a></li>
        <li><a href="https://www.jd.com" target="_blank">京东</a></li>
        <li><a href="https://www.suning.com" target="_blank">苏宁</a></li>
        <li><a href="https://www.pinduoduo.com" target="_blank">拼多多</a></li>
    </ol>
</body>
</html>

2.4.3、自定义列表

在HTML文件中,只要在适当的地方插入<dl></dl>标记,即可自动生成定义列表(Definition List)。它的每一项前既没有项目符号,也没有编号,它是通过缩进的形式使内容层次清晰。

通过<dl></dl>标记用来创建定义列表,<dt></dt>标记用来创建列表中的上层项目(列表项标题),此标记只能在<dl></dl>标记中使用。显示时,<dt></dt>标记定义的内容将左对齐。

<dd></dd>标记用来创建列表中的下层项目(列表项数据),此标记只能在<dl></dl>标记中使用。显示时<dd></dd>标记的内容将相对于<dt></dt>标记定义的内容向右缩进。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- 3. 自定义列表 -->
    <h4>自定义列表</h4>
    <dl>
        <dt>马云</dt>
            <dd>淘宝</dd>
            <dd>阿里</dd>
        <dt>京东</dt>
            <dd>自营</dd>
            <dd>快递</dd>
    </dl>
</body>
</html>

2.4.4、嵌套列表

列表还可以嵌套使用,也就是一个列表中还可以包含有多层子列表。嵌套列表可以是无序列表的嵌套,也可以是有序列表的嵌套,还可以是有序列表和无序列表的混合嵌套。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- 嵌套列表 -->
    <ul>
        <li>水果
            <ol type="A">
                <li>苹果</li>
                <li>香蕉</li>
                <li>橘子</li>
            </ol>
        </li>
        <li>蔬菜
            <ol type="i">
                <li>土豆</li>
                <li>茄子</li>
                <li>黄瓜</li>
            </ol>
        </li>
    </ul>
</body>
</html>

2.5、表格标签

在 HTML 中,我们使用 <table></table> 标签来定义表格。HTML 中的表格和 Excel 中的表格是类似的,都包括行、列、单元格、表头等元素。但是 HTML 表格在功能方面远没有 Excel 表格强大,HTML 表格不支持排序、求和、方差等数学计算,它一般用来展示数据。

一个HTML的表格标签<table></table>包含<tr></tr>、<td></td>、<th></th>、<caption></caption>、<thead></thead>、<tfoot></tfoot>、<tbody></tbody>、<col />和<colgroup>等元素,这些元素分别对应表格的行、单元格、表头、表题、组合表头、组合内容等。

2.5.1、表格的基本标签

HTML所有的表格的内容都要写到<table></table>内,主要有三个基本的标签:

默认情况下,表格是没有边框的。但是我们可以使用

标签中的 border 属性来设置表格的边框宽度,单位是像素(px)。本例中我们将表格的边框宽度设置为 1px。注意,px 是默认的单位,不用显式指明。

注意:在 HTML5 中,仅支持<table>标签的 "border" 属性,并且只允许使用值 "1" 或 ""。同时,除了<th><td>的合并单元格属性,即rowspan和colspan属性,其他的都不再支持。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- 表格的基本标签 -->
    <table border="1" >
        <tr>
            <th>学号</th>
            <th>班级</th>
            <th>姓名</th>
            <th>专业</th>
        </tr>
        <tr>
            <td>201901</td>
            <td>310181</td>
            <td>张三</td>
            <td>软件技术</td>
        </tr>
        <tr>
            <td>201902</td>
            <td>310181</td>
            <td>李四</td>
            <td>软件技术</td>
        </tr>
    </table>
</body>
</html>

2.5.2、表格的高级标签

HTML 中的高级标签主要是为了能够更好的管理表格,例如使用<thead></thead>标签组合表格的表头,使用<tbody></tbody>标签组合表格的内容,<tfoot></tfoot>表示表格的页脚,这些元素内部必须包含一个或者多个<tr>标签, 并且元素默认不会影响表格的布局。不过,您可以使用 CSS 来为这些元素定义样式,从而改变表格的外观。

元素之内,在任何一个 <caption> 元素之后,在任何一个 <thead>、<tbody>、<tfoot>、<tr> 元素之前使用 <colgroup> 标签。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- 表格的高级标签 -->
    <table border="1">
        <caption style="text-align: center; caption-side: top">这个是表格的标题</caption>
        <colgroup>
            <col span="2" style="background-color: rebeccapurple">
            <col style="background-color: #00FFFF">
        </colgroup>
        <thead>
            <tr>
                <th>学号</th>
                <th>班级</th>
                <th>姓名</th>
                <th>专业</th>
            </tr>
        </thead>
        <tfoot>
            <tr>
                <td>这个是页脚</td>
            </tr>
        </tfoot>
        <tbody>
            <tr>
                <td>201901</td>
                <td>310181</td>
                <td>张三</td>
                <td>软件技术</td>
            </tr>
        </tbody>
    </table>
</body>
</html>

2.5.3、表格的单元格的合并

和 Excel 类似,HTML 也支持单元格的合并,包括跨行合并和跨列合并两种。

具体格式如下:
<td rowspan="n">单元格内容</td><td colspan="n">单元格内容</td>,n 是一个整数,表示要合并的行数或者列数。此处需注意,不论是 rowspan 还是colspan都是 <td> 标签的属性。

下面的例子中,我们将表格第 2 列的第 1、2、3 行单元格合并(跨行合并),将第 3 行的第 3、4 列合并(跨列合并)。具体代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- 表格的单元格合并 -->
    <table border="1">
        <caption style="text-align: center; caption-side: top">这个是表格的标题</caption>
        <colgroup>
            <col span="2" style="background-color: rebeccapurple">
            <col style="background-color: #00FFFF">
        </colgroup>
        <thead>
            <tr>
                <th>学号</th>
                <th>班级</th>
                <th>姓名</th>
                <th>专业</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>201901</td>
                <td rowspan="3">310181</td>
                <td>张三</td>
                <td rowspan="2">软件技术</td>
            </tr>
            <tr>
                <td>201902</td>
                <td>李四</td>
            </tr>
            <tr>
                <td>201903</td>
                <td colspan="2">王五</td>
            </tr>
        </tbody>
    </table>
</body>
</html>

通过运行结果可以发现:

rowspan 属性表示向下合并单元格,colspan 属性表示向右合并单元格,每次合并 n 个单元格都要少写 n-1 个<td>标签。

提示:即使一个单元格中没有任何内容,我们仍需使用 <td><th> 元素来表示一个空单元格的存在,建议在 <td><th> 中加入 &nbsp;(空格),否则低版本的 IE 可能无法显示出这个单元格的边框。


3、表单标签及其属性

HTML 表单(form) 在网页中主要负责数据采集功能,利用表单可以实现与用户的交互,比如收集浏览者的信息或实现搜索等功能。

一个HTML表单主要包括表单域、表单元素以及提示信息。表单域就是整个<form></form>包括的区域;表单控件主要包括所有的表单元素,例如<input>标签等;提示信息主要包括文本框的输入提示、输入的格式信息等。

3.1、表单域

<form> 标签用于创建供用户输入的 HTML 表单,即表单域,可以包含一个或多个如下元素:<input>、<textarea>、<button>、<select>、<option>、<optgroup>、<fieldset>、<label>,其属性如下所示:

属性 描述
action URL 规定当提交表单时向何处发送表单数据,一般为URL、一个页面或者空
accept-charset character_set 规定服务器可处理的表单数据字符集
method get、post、PUT、DELETE等 规定用于发送表单数据的 HTTP 方法
name text 规定表单的名称
novalidate novalidate 如果使用该属性,则提交表单时不进行验证
autocomplete on、off 规定是否启用表单的自动完成功能
enctype application/x-www-form-urlencoded、multipart/form-data、text/plain 规定在向服务器发送表单数据之前如何对其进行编码。(适用于 method="post" 的情况)
target _self、_parent、_top、_blank 规定在何处打开 action URL

3.2、表单元素

3.2.1、input

HTML 文本域是最为常用的表单类型,使用“input”表示。另外,对于文本域表单,在 HTML 5 中也提供了很多不同的输入类型,输入类型使用“type”定义。下面分别介绍演示。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="TextTag.html" method="get" accept-charset="UTF-8">
        用户名:<input type="text" name="username" maxlength="10" value="请输入用户名"><br />
        密码: <input type="password" name="password"><br />
        性别: <input type="radio" name="sex" value="0" checked="checked">男
        <input type="radio" name="sex" value="1">女 <br />
        爱好:<input type="checkbox" name="hobby" value="打篮球" checked="checked">打篮球
        <input type="checkbox" name="hobby" value="看电影">看电影
        <input type="checkbox" name="hobby" value="蹦迪">蹦迪 <br />
        QQ:<input type="number" name="qq" min="1" max="10" step="3" required><br />
        邮箱:<input type="email" name="email" required><br />
        出身日期:<input type="date" name="birthday" required>
        上班时间:<input type="datetime-local" name="workTime" required><br />
        头像:<input type="image" src="../images/bg.png" alt="你的头像" width="100px" height="100px">
    </form>
</body>
</html>

注意,当type=“submit”和“image”时,还可以有一下的属性,


3.2.2、标记、下拉框、文本域

HTML5的 <label> 标签用于为 input 元素做出标记。label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。

<label> 标签通过 for 属性把 label 绑定到顶一个元素上, for 属性应当与相关元素的 id 属性相同。

<select> 元素用来创建下拉列表。<select> 元素中的 <option> 标签定义了列表中的可用选项,主要包括以下几个属性值:

<textarea> 标签定义一个多行的文本输入控件。文本区域中可容纳无限数量的文本,其中的文本的默认字体是等宽字体(通常是 Courier)。可以通过 cols 和 rows 属性来规定 textarea 的尺寸大小,不过更好的办法是使用 CSS 的 height 和 width 属性。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- 标记标签、下拉框以及文本域 -->
    <form action="TextTag.html" method="get">
        <label for="male">男</label>
        <input type="radio" name="sex" id="male" value="男">
        <label for="female">女</label>
        <input type="radio" name="sex" id="female" value="女"><br>

        请选择你喜欢的水果:
        <select size="10" name="水果" required>
            <option value="苹果" autofocus>苹果</option>
            <option value="橘子">橘子</option>
            <option value="香蕉">香蕉</option>
            <option value="菠萝">菠萝</option>
        </select>

        <textarea rows="4" cols="5">这是一个文本区域</textarea>

        <input type="submit" value="提交">
    </form>
</body>
</html>

4、HTML5新标签及其属性

自1999年以后HTML 4.01 已经改变了很多,今天,在HTML 4.01中的几个已经被废弃,这些元素在HTML5中已经被删除或重新定义。

为了更好地处理今天的互联网应用,HTML5添加了很多新元素及功能,比如: 图形的绘制,多媒体内容,更好的页面结构,更好的形式 处理,和几个api拖放元素,定位,包括网页应用程序缓存,存储,网络工作者,等。

4.1、新的多媒体元素

4.1.1、音频

<audio> 标签是 HTML5 提供的用来播放音频文件的,比如音乐或其他音频流。目前,<audio> 元素支持的3种文件格式分别是:MP3、Wav、Ogg,IE 8 或更早版本的 IE 浏览器不支持 <audio> 标签。

可以在 <audio> 和 </audio> 之间放置文本内容,这些文本信息将会被显示在那些不支持<audio>标签的浏览器中,<audio> 主要具有以下几个属性:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- 1. 新的多媒体元素 -->
    <!-- 音频 -->
    <audio controls autoplay>
        <!-- <source> 标签可以为<picture>、<audio>或<video>元素指定一个或者多个的媒体资源 -->
        <source src="horse.ogg" type="audio/ogg">
        <source src="horse.mp3" type="audio/mpeg">
        您的浏览器不支持 audio 元素。
    </audio>
</body>
</html>

4.1.2、视频

<video> 标签是 HTML5 提供用来播放视频文件的,<video> 标签可以将视频内容嵌入到HTML文档中,比如电影片段或其他视频流。目前,<video> 元素支持三种视频格式:MP4、WebM、Ogg。

可以在 <video> 和 </video> 标签之间放置文本内容,这样不支持 <video> 元素的浏览器就可以显示出该标签的信息。 <video> 标签主要包含以下几个属性:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- 1. 新的多媒体元素 -->
    <!-- 视频 -->
    <video width="320" height="240" controls autoplay>
        <!-- <source> 标签可以为<picture>、<audio>或<video>元素指定一个或者多个的媒体资源 -->
        <source src="movie.mp4" type="video/mp4">
        <source src="movie.ogg" type="video/ogg">
        您的浏览器不支持 video 标签。
    </video>
</body>
</html>

4.1.3、插件

<embed> 标签用来定义在页面中嵌入的内容,比如插件,所有主流浏览器都支持 <embed> 标签。<embed> 标签定义了一个容器,用来嵌入外部应用或者互动程序(插件)。它主要有以下几个属性:

<embed src="helloworld.swf" width="100px" height="100px">

4.1.4、字幕

<track> 标签用作<audio>元素和 <video> 元素的子级,它允许您指定定时文本轨道(或基于时间的数据),采用 WebVTT 格式(.vtt 文件),<track> 标签为媒体元素(比如 <audio> and <video>)规定外部文本轨道,这个元素用于规定字幕文件或其他包含文本的文件,当媒体播放时,这些文件是可见的。

提示:track 给媒体元素添加的数据的类型在 kind 属性中设置,kind 属性的取值请参考下面的可选属性列表。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- 1. 新的多媒体元素 -->
    <!-- 字幕 -->
    <video width="320" height="240" controls autoplay>
        <!-- <source> 标签可以为<picture>、<audio>或<video>元素指定一个或者多个的媒体资源 -->
        <source src="forrest_gump.mp4" type="video/mp4">
        <source src="forrest_gump.ogg" type="video/ogg">
        <track src="subtitles_en.vtt" kind="subtitles" srclang="en"
               label="English">
        <track src="subtitles_no.vtt" kind="subtitles" srclang="no"
               label="Norwegian">
    </video>
</body>
</html>

4.2、新的表单元素

<datalist> 标签需要与 <input> 标签配合使用,用来表示<input>可选的列表。<datalist> 标签被用来在为 <input> 元素提供"自动完成"的特性。用户能看到一个下拉列表,里边的选项是预先定义好的,将作为用户的输入数据。

提示:不能控制 datalist 的位置,并且不能将其与服务器的数据进行绑定,IE 9 和更早版本的 IE 浏览器 以及 Safari 不支持 标签。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- 2. 新的表单元素 -->
    <form accept-charset="UTF-8" action="TextTag.html" method="get">
        <!-- 可选列表 -->
        <input list="browsers">
        <datalist id="browsers">
            <option value="Internet Explorer">
            <option value="Firefox">
            <option value="Chrome">
            <option value="Opera">
            <option value="Safari">
        </datalist>
    </form>
</body>
</html>

4.3、新的语义和结构元素

传统的页面布局都是通过<div> 标签的class属性进行标识,例如导航使用class="nav"等,以下是一些常用的布局规范。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- 3. 新的语义和结构元素 -->
    <!-- 传统的页面布局 -->
    <!-- 页头 -->
    <div class="header">页头</div>
    <!-- 导航 -->
    <div class="nav">导航</div>
    <!-- 主体内容 -->
    <div class="main">主要内容
        <!-- 文章 -->
        <div class="article">文章
            <!-- 节 -->
            <div class="section">节</div>
        </div>
        <!-- 边栏 -->
        <div class="sidebar"></div>
    </div>
    <!-- 页脚 -->
    <div class="footer">页脚</div>
</body>
</html>

HTML5 新增了一些专门用来布局的新的语义和结构元素,分别如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- 3. 新的语义和结构元素 -->
    <!-- HTML5新增布局元素 -->
    <!-- 页头 -->
    <header>
        <!-- 导航 -->
        <nav>导航</nav>
    </header>
    <!-- 主体内容 -->
    <main>主体内容
        <article>文章
            <section>节</section>
        </article>
    </main>
    <!-- 页脚 -->
    <footer>页脚</footer>
</body>
</html>

标签:总结,标签,元素,列表,学习,HTML,HTML5,表单,属性
来源: https://www.cnblogs.com/mmgmj/p/16410450.html