![JavaScript 从入门到项目实践(超值版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/691/26793691/b_26793691.jpg)
第4章
JavaScript开发基础——HTML知识
◎本章教学微视频:15个 45分钟
学习指引
HTML即超文本标记语言,是一种用来制作超文本文档的简单标记语言,是一种应用非常广泛的网页格式,也是被用来显示Web页面的语言之一。本章将详细介绍HTML的基础知识,主要内容包括HTML的文档结构、HTML的常用标签、HTML5的新增标签。
重点导读
- 掌握HTML的文档结构。
- 掌握HTML的常用标签。
- 掌握HTML5的新增标签。
4.1 基本的HTML文档
在一个HTML文档中,必须包含<html></html>标签(也称标记)对,并且该标签对需放在一个HTML文档的开始和结束位置。即每个文档以<html>开始,以</html>结束。<html>与</html>之间通常包含两个部分,分别是<head></head>标签对和<body></body>标签对。<head></head>标签对内包含HTML文件头部信息,例如文档标题、样式定义等。<body></body>标签对内包含文档主体部分,即网页内容。需要注意的是,<html>标签不区分大小写。
注:如果标签是以成对的方式显示,就说是标签对,在介绍一个标签对的属性或方式时,习惯上是以开始标签来说明,而不是以标签对方式来说明。
为了便于读者从整体把握HTML文档的结构,下面通过一个HTML页面来介绍HTML页面的整体结构,示例代码如下:
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P61_216108.jpg?sign=1739312090-xY63lq6jb6JvMguBmEM8x3LdGE33FLwt-0-21e9a14aaca9beaab249828934e959a9)
从上述代码可以看出,一个基本的HTML页面由以下几个部分构成。
(1)<!DOCTYPE>声明必须位于HTML5文档中的第一行,也就是位于<html>标签之前。该标签用于告知浏览器文档所使用的HTML规范。它是一条指令,告诉浏览器编写页面所用的标签的版本。由于HTML5版本还没有得到浏览器的完全认可,后面介绍时还采用以前通用的标准。
(2)<html></html>对说明本页面是使用HTML语言编写的,可使浏览器软件能够准确无误地解释、显示。
(3)<head></head>对用于定义HTML的头部信息,头部信息不显示在网页中。在该标签内可以嵌套其他标签,用于说明文件标题和整个文件的一些公用属性,如通过<style>标签定义CSS样式表,通过<script>标签定义JavaScript脚本文件。
(4)<title></title>标签对内的内容是HTML文件头部信息中的重要组成部分,它包含的内容显示在浏览器的窗口标题栏中。如果一个HTML文件没有设置<title></title>标签对内的内容,浏览器标题栏就只显示本页的文件名。
(5)<body></body>标签对用来定义HTML页面显示在浏览器窗口的实际内容。例如,页面中的文字、图像、动画、超链接以及其他HTML相关的内容都是在该标签对中定义的。
4.1.1 文档标签
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P62_167080.jpg?sign=1739312090-RtHvMrt1GnusfKw5pcqktYeV8c0ZbkD0-0-845baf9d25c07da438b5e86247bdd5e8)
一般HTML的页面以<html>标签开始,以</html>标签结束。HTML文档中的所有内容都应位于这两个标签之间。如果这两个标签之间没有内容,则该HTML文档在IE浏览器中的显示将是空白的。
<html>标签的语法格式如下:
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P62_216110.jpg?sign=1739312090-oTmcX80nJwqGzACdcmvtUuyaWxBCRXxV-0-44b42c153cbf4adcaaed737334697bb3)
4.1.2 头部标签
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P62_167081.jpg?sign=1739312090-tbUat5AIxeMauz8HMfZgwP5DaJavULWJ-0-f3c392d5439650b60e55c0118c23abfe)
头部(<head></head>)标签对内包含的是文档的标题信息,如标题、关键字、说明以及样式等。除了标题内容外,一般位于头部标签中的内容不会直接显示在浏览器中,而是通过其他的方式显示。
(1)内容。
头部标签中可以嵌套多个标签,如<title>、<base>、<isindex>和<script>等,也可以添加任意数量的属性,如<script>、<style>、<meta>或<object>等。除了<title>标签外,嵌入的其他标签可以使用多个。
(2)位置。
在所有的HTML文档中,头部标签不可或缺,但是其起始和结尾标签却可以省去。在各个HTML的版本文档中,头部标签一直紧跟<body>标签,但在框架设置文档中,其后跟的是<frameset>标签。
(3)属性。
<head>标签的属性profile给出了元数据描写的位置,从中可以看到其中的meta和lind元素的特性。该属性的形式没有严格的格式规定。
4.1.3 主体标签
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P62_167082.jpg?sign=1739312090-of7DNcu3UJ8RE2EXm57584X04I3kjueQ-0-46bec3147c6361c51b050c4e455a9d85)
主体标签(<body>…</body>)包含了文档的内容,用若干个属性来规定文档中显示的背景和颜色。
主体标签可能用到的属性如下。
(1)background=url(文档的背景图像,url指图像文件的路径)。
(2)bgcolor=color(文档的背景色)。
(3)text=color(文本颜色)。
(4)link=color(链接颜色)。
(5)vlink=color(已访问的链接颜色)。
(6)alink=color(被选中的链接颜色)。
(7)onload=script(文档已被加载)。
(8)onunload=script(文档已推出)。
为该标签添加属性的代码格式如下:
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P63_216112.jpg?sign=1739312090-levbgommHtOFlEIdqaxhmZehA2Hn13B0-0-d50e5fba12bef775d78b98eb4397c866)
4.2 HTML的常用标签
HTML文档是由标签组成的文档,要熟练掌握HTML文档的编写,就要先了解HTML的常用标签。
4.2.1 标题标签<h1>到<h6>
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P63_167135.jpg?sign=1739312090-Q5htW22ixH4mNXrIYtWZ8VeIpaDJb8i5-0-3f92d3a038030cac693574bfa2e0ece6)
在HTML文档中,文本的结构除了以行和段的形式出现之外,还可以标题的形式存在。通常一篇文档最基本的结构,就是由若干不同级别的标题和正文组成的。
HTML文档中包含有各种级别的标题,各种级别的标题由元素<h1>到<h6>来定义,其中<h1>代表1级标题,级别最高,字号也最大,其他标题元素依次递减,<h6>级别最低。
下面具体介绍一下标题的使用方法。
【例4-1】(实例文件:ch04\Chap4.1.html)标题标签的使用。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P63_216114.jpg?sign=1739312090-i2l92CVt3C0t456VDiLepeAbBnxir1YI-0-7b010dd355d1662038a0d3788495d38f)
相关的代码示例请参考Chap4.1.html文件,在IE浏览器里面运行的结果如图4-1所示。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P63_167128.jpg?sign=1739312090-Cv7nFfC0eEzGWFYOUH4dxYuhPSTlKJzF-0-f03bb912d2ab050b2625c6fd5d95d41a)
图4-1 标题标签的应用
4.2.2 段落标签<p>
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-99.jpg?sign=1739312090-owuEPwPgOq6OWVNJmAotluFV6Pco2kur-0-02646cfc32b7e50edfbd4c173825abc9)
段落标签<p>用来定义网页中的一段文本,文本在一个段落中会自动换行。段落标签是双标签,即<p> 和</p>,在开始标签<p>和结束标签</p>之间的内容形成一个段落。如果省略掉结束标签,从<p>标签开始,那么直到在下一个段落标签出现之前的文本,都将被默认为同一段段落内。
【例4-2】(实例文件:ch04\Chap4.2.html)段落标签的使用。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P64_216116.jpg?sign=1739312090-oADSkkjGQvh8lCIV9uLxv1pRym1alUut-0-e0e88bb657727635e67f7e4b9a77eb8c)
相关的代码示例请参考Chap4.2.html文件,在IE浏览器里面运行的结果如图4-2所示。可以看出,<p>标签将文本分成了3个段落。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P64_167199.jpg?sign=1739312090-0see64GNyr888rCLJ7ZRKTP6RbpJJ7Mb-0-b55e491cdd00b51108872440e712c3be)
图4-2 段落标签的应用
4.2.3 换行标签<br>
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P64_167209.jpg?sign=1739312090-okhvbg8WtCNa8ZAyTg6nAZ3ztl2SihlH-0-c782f225cd80a45d83f14938825edbfb)
使用换行标签<br>可以给一段文字换行。该标签是一个单标签,没有结束标签,作用是将文字在一段内强制换行。一个<br>标签代表一次换行,连续的多个标签可以实现多次换行。使用换行标签时,在需要换行的位置添加<br>标签即可。
【例4-3】(实例文件:ch04\Chap4.3.html)换行标签的使用。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P64_216120.jpg?sign=1739312090-IuPQKgonnnO8Gt7xpdi7o90f5xPFSg00-0-de5d0c8405f39dc79ad757d9afd9d23e)
相关的代码示例请参考Chap4.3.html文件,在IE浏览器里面运行的结果如图4-3所示。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P65_167249.jpg?sign=1739312090-KWNA1SKfIYTcnhL5zxkGiGKpC9tA7kdv-0-74a5912b533b398d057f3e912addef7e)
图4-3 换行标签的应用
4.2.4 链接标签<a>
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P65_167267.jpg?sign=1739312090-nB81PFg01nm6zWOADGlyS3qa1seTmaS2-0-d77625a3389faac3c735b38b812cf4b3)
链接标签<a>是网页中最为常用的标签,主要用于把页面中的文本或图片链接到其他的页面、文本或图片。建立链接的要素有两个,即可被设置为链接的网页元素和链接指向的目标地址。链接的基本结构如下:
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P65_167258.jpg?sign=1739312090-fGRJu59UQ1yE78sk0Ld3b0x8OT88opHR-0-ffeaa8d023980fe84ea1f083ac5ee33c)
1.设置文本和图片的链接
可被设置为链接的网页元素是指网页中通常使用的文本和图片。文本链接和图片链接通过<a>和</a>标签来实现,将文本或图片放在<a>开始标签和</a>结束标签之间即可建立文本和图片链接。
【例4-4】(实例文件:ch04\Chap4.4.html)设置文本和图片的链接。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P65_216123.jpg?sign=1739312090-QrqhZTPThYlj5ZGdvO1jMECM5M14LtGv-0-4ea85ae0214debe9a9ee167da67544b7)
相关的代码示例请参考Chap4.4.html文件,在IE浏览器里面运行的结果如图4-4所示,在其中可以查看到使用链接标签设置文本和图片的效果。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P65_167260.jpg?sign=1739312090-D0CalKO40QCPnIJoimxfttCS3PAOI2hC-0-142e290dad6c94bd45d41feff1e6db5d)
图4-4 链接标签的应用
2.设置电子邮件路径
电子邮件路径用来链接一个电子邮件的地址。其写法如下:
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P66_167318.jpg?sign=1739312090-ogdFoWnUFUL0c9R3EuF8SbJHGnmQgLua-0-a02a9d4d346e225b642474a9568c6a43)
【例4-5】(实例文件:ch04\Chap4.5.html)设置电子邮件路径。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P66_216125.jpg?sign=1739312090-dHWoKy8Ndkr3m8y8ZpKPUElcBi3UUHMp-0-40753156bab8f127b7ad089b23271b45)
相关的代码示例请参考Chap4.5.html文件,然后双击该文件,就可以在IE浏览器中查看到使用链接标签设置电子邮件路径的效果。当单击含有链接的文本时,会弹出一个发送邮件的对话框,显示效果如图4-5所示。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P66_167320.jpg?sign=1739312090-lTBbfj7hqK1n6aK173HNW7WjKmvZNoKL-0-21677a53b68b641cb5f08dc1e2fe5563)
图4-5 设置电子邮件的路径
4.2.5 列表标签<ul>
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P66_167329.jpg?sign=1739312090-NF0kZcaFemXnJSzn6XfLHz7hSrBkUZJ3-0-d3898c47c327dc62560f73360b179714)
文字列表可以有序地编排一些信息资源,使其结构化和条理化,并以列表的样式显示出来,以便浏览者能更加快捷地获得相应信息。HTML中的文字列表如同文字编辑软件Word中的项目符号和自动编号。
1.建立无序列表
无序列表相当于Word中的项目符号,无序列表的项目排列没有顺序,只以符号作为分项标识。无序列表的建立使用的是一对标签<ul>和</ul>,其中每一个列表项的建立还要一对标签<li>和</li>。其结构如下:
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P66_216127.jpg?sign=1739312090-82fvxQA2cclTSuxUQYyS43wH8d3nzF0y-0-45b725a567877763f66624247cdf9019)
在无序列表结构中,使用<ul>和</ul>标签表示该无序列表的开始和结束,<li>则表示该列表项的开始。在一个无序列表中可以包含多个列表项,并且<li>的结束标签可以省略。
下面实例介绍了使用无序列表实现文本的排列显示。
【例4-6】(实例文件:ch04\Chap4.6.html)建立无序列表。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P67_216129.jpg?sign=1739312090-XWaHqeRXIm3uc4Z9Daaobg1gyq4tbSd6-0-ecb4b606b921e9c6b49ba6483d6b900c)
相关的代码示例请参考Chap4.6.html文件,然后双击该文件,就可以在IE浏览器中查看到使用列表标签建立无序列表的效果,如图4-6所示。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P67_167403.jpg?sign=1739312090-4CQXDJWq4NMo7StxGqYJP9ujaFPdllup-0-afa507a9bc164824bca06edebdfc9245)
图4-6 无序列表标签的应用
通过观察发现,无序列表项中,可以嵌套一个列表。如代码中的“系统分析”列表项和“伪网页草图”列表项中都有下级列表,因此在这对<li>和</li>标签间又增加了一对<ul>和</ul>标签。
2.建立有序列表
有序列表类似于Word中的自动编号功能。有序列表的使用方法和无序列表的使用方法基本相同。它使用的标签是<ol>和</ol>,每个列表项前使用的标签是<li>和</li>,且每个项目都有前后顺序之分,多数情况下,该顺序使用数字表示。其结构如下:
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P68_216131.jpg?sign=1739312090-zBlzLcmaqvxCNLOZilKOvmoR2duJoIEG-0-90327163adb3cbf4eeb513bf9449060f)
【例4-7】(实例文件:ch04\Chap4.7.html)建立有序列表。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P68_216133.jpg?sign=1739312090-Wp8sV2KEZBjFUb07OcCEd4EfnsJCwh4A-0-45e64e0f4121804a0442bf393c0eaa2d)
相关的代码示例请参考Chap4.7.html文件,然后双击该文件,就可以在IE浏览器中查看到使用列表标签建立有序列表后的效果了,如图4-7所示。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P68_167473.jpg?sign=1739312090-ioHMKq9ImOLA1BF4gD2pfuSTJmMS9Epm-0-cea42cabb4a190fdb8060839383d8783)
图4-7 有序列表标签的应用
4.2.6 图像标签<img>
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P68_167543.jpg?sign=1739312090-lo3uVtD2j1GmegtXneO3QidW7hsjPOMe-0-5ffa7ca2295754ebf6b652536bb4d6a8)
图像可以美化网页,插入图像时可使用图像标签<img>。<img>标签的属性及描述如表4-1所示。
表4-1 <img>标签的属性及描述
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-T68_216136.jpg?sign=1739312090-ah24zgbwbBZ8yD5rh86vmY0Y5fsqZjsG-0-93eaf0f7cefc3fbaf5a3116daff858d5)
1.插入图片
src属性用于指定图片源文件的路径,它是<img>标签必不可少的属性。其语法格式如下:
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P69_167634.jpg?sign=1739312090-7w29fLcx6uDr9eWGIGlUq2KaK8TYiGyl-0-b053091b92b1533c484da0ac11e66950)
图片的路径既可以是绝对路径,也可以是相对路径。
【例4-8】(实例文件:ch04\Chap4.8.html)在网页中插入图片。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P69_216142.jpg?sign=1739312090-ujTHWBqZ6kxJGJvCBaoJyew4O622ZCZE-0-4c6c7fce78fa802c1c9b7c129a6aa8bf)
相关的代码示例请参考Chap4.8.html文件,然后双击该文件,就可以在IE浏览器中查看到使用<img>标签插入图片后的效果,如图4-8所示。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P69_167636.jpg?sign=1739312090-OzeDNpnrLwKEfoQXjN2213GIbTTaUN30-0-e5906e024f22070a3d75add488509b49)
图4-8 图像标签的应用
2.从不同位置插入图片
在插入图片时,用户可以将其他文件夹或服务器中的图片显示到网页中。
【例4-9】(实例文件:ch04\Chap4.9.html)从不同位置插入图片。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P69_216144.jpg?sign=1739312090-doGcB7LfjDpBqQOhWXY7jTEECl1JHNn4-0-55a6bf0cd2bf01149dca5979a2d847d9)
相关的代码示例请参考Chap4.9.html文件,然后双击该文件,就可以在IE浏览器中查看到使用<img>标签插入图像后的效果,如图4-9所示。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P70_167697.jpg?sign=1739312090-yKoRVQl7LVfAoPOgGJ9UIYLOdJISDsMb-0-1a5eb6f60912ce384174ab1bcbfbc20c)
图4-9 从不同位置插入图片
3.设置图片的宽度和高度
在HTML文档中,还可以设置插入图片的显示尺寸。设置图片尺寸可通过图片的属性width(宽度)和height(高度)来实现。
【例4-10】(实例文件:ch04\Chap4.10.html)设置图片在网页中的宽度和高度。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P70_216147.jpg?sign=1739312090-3ZbV574eFgbnNuadwezhvYmXEBfULuIA-0-5aeae59b8b5b1b1d460b5d8b779de7d2)
相关的代码示例请参考Chap4.10.html文件,然后双击该文件,就可以在IE浏览器中查看到使用<img>标签设置的图片的宽度和高度效果,如图4-10所示。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P70_167705.jpg?sign=1739312090-Tv2grrfejr60pZe02ylL3LMPSPpAkKsx-0-f7eab88e1884916ad46a8b4fbeb3fcb8)
图4-10 设置图片宽度与高度
从运行结果中可以看到,图片的显示尺寸是由width和height控制的。当只为图片设置一个尺寸属性时,另外一个尺寸就以图片原始的长宽比例来显示。图片的尺寸单位可以选择百分比或数值。百分比为相对尺寸,数值为绝对尺寸。
4.2.7 表格标签<table>
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P71_167781.jpg?sign=1739312090-uIKWiM6syg8U8MqSVCQRcRugSRcwRue8-0-5aca66a91e4f8b82a0861954efcb1774)
HTML中的表格标签有以下3个,下面详细进行介绍。
(1)<table>…</table>标签。
<table>标签用于标识一个表格对象的开始;</table>标签标识一个表格对象的结束。一个表格中,只允许出现一对<table>和</table>标签。
(2)<tr>…</tr>标签。
</tr>用于标识表格一行的开始;</tr>标签用于标识表格一行的结束。表格内有多少对<tr>和</tr>标签,就表示表格中有多少行。
(3)<td>…</td>标签。
<td>标签用于标识表格某行中的一个单元格的开始;</td>标签用于标识表格某行中的一个单元格的结束。<td>和</td>标签书写在<tr>和</tr>标签内。一对<tr>和</tr>标签内有多少对<td>和</td>标签,就表示该行有多少个单元格。
在HTML中,最基本的表格必须包含一对<table>和</table>标签、一对或几对<tr>和</tr>标签以及一对或几对<td>和</td>标签。一对<table>和</table>标签定义一个表格,一对<tr>和</tr>标签定义一行,一对<td>和</td>标签定义一个单元格。
【例4-11】(实例文件:ch04\Chap4.11.html)定义一个4行3列的表格。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P71_216149.jpg?sign=1739312090-L2rGkaWG94ivLQTF8TsxlxToOUs2fBFp-0-63d3b96ba3069a2153808e812511be5d)
相关的代码示例请参考Chap4.11.html文件,然后双击该文件,就可以在IE浏览器中查看到使用表格标签插入表格后的效果,如图4-11所示。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P72_167870.jpg?sign=1739312090-rupgTb6KKL3lPTj3O2thCFJJtr4jSkfh-0-3a73791cb97ee3813968c5d00f35a802)
图4-11 定义表格
4.2.8 表单标签<form>
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P72_167879.jpg?sign=1739312090-D3syIFTi7zs8QacdpMgLFVomUkAm3s2a-0-ab4dc6b858508b9f5e6600e5df9c4e45)
表单主要用于收集网页上浏览者的相关信息,其标签为<form>和</form>。表单的基本语法格式如下:
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P72_216151.jpg?sign=1739312090-JTPmq7oavcAP8p0No0rBAPAdlXTkYJHO-0-a7de4517298f1b7bdd8120b098cdd29c)
其中,action=“url”用于指定处理提交表单的格式,它可以是一个URL地址或一个电子邮件地址。method=“get|post”用于指明提交表单的HTTP方法。enctype=“mime”用于指明把表单提交给服务器时的互联网媒体形式。表单是一个能够包含表单元素的区域。通过添加不同的表单元素,将显示不同的效果。
下面介绍如何使用表单标签开发一个简单网站的用户意见反馈页面。
【例4-12】(实例文件:ch04\Chap4.12.html)开发用户意见反馈页面。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P72_216153.jpg?sign=1739312090-40ipzvPUci6eMmoMISFCxpmgsp4MB5Ns-0-7f2eec2abfe080a2f501b9d9bd89f1e9)
相关的代码示例请参考Chap4.12.html文件,然后双击该文件,就可以在IE浏览器中查看到使用表单标签插入表单后的效果,如图4-12所示。可以看到,创建的用户反馈表单包括一个标题“用户意见反馈页面”,还包括“姓名”“性别”“年龄”“联系电话”“电子邮件”“联系地址”等内容。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P73_167911.jpg?sign=1739312090-qJ1xQ7MvuyXZiWCpTDvvpjdFkUPNF9HU-0-a5549db1654feb4d7b9aa93be043dd82)
图4-12 表单标签的应用
4.3 HTML5的新增标签
为了更好地处理今天的互联网应用,HTML5添加了很多新标签及功能,如多媒体标签<audio>和<video>、绘制图形标签<canvas>等。
4.3.1 <audio>标签
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P73_167922.jpg?sign=1739312090-LHspcIADJ3pqEWmwKNdJs9TkUkrfTiB1-0-44d303cc52f8222ca3a91b18f63aede4)
<audio>标签主要是定义播放声音文件或者音频流的标准。它支持3种音频格式,分别为Ogg、MP3和WAV。
如果需要在HTML5网页中播放音频,输入的基本格式如下:
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P73_216156.jpg?sign=1739312090-AVnMPmrbVauyMzqPGaJyZt8rSJ5QJyQp-0-311a11e6b5b24f0c3b6f5391723b3527)
其中,src属性规定要播放的音频的地址,controls属性是供添加播放、暂停和音量控件的属性。
另外,在<audio>和</audio>之间插入的内容是供不支持audio元素的浏览器显示的。
【例4-13】(实例文件:ch04\Chap4.13.html)在网页中插入音频。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P73_216158.jpg?sign=1739312090-pGUgJBMz13wPZjbwR4NmOEzTEGonmq0c-0-f42256d6c48d867b856a5389aad51e3c)
相关的代码示例请参考Chap4.13.html文件,然后双击该文件,如果用户的浏览器是IE 11.0以前的版本,浏览效果如图4-13所示。可见,IE 11.0以前的浏览器版本不支持<audio>标签。
在IE 11.0中浏览,效果如图4-14所示。可以看到加载的音频控制条并听到声音,此时用户还可以控制音量的大小。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P74_167963.jpg?sign=1739312090-B9XKOi2dvmJloT2Yx4J4D37Q3odKGJJy-0-008716777dd1051beb64ff22d36beef0)
图4-13 插入音频文件
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P74_167964.jpg?sign=1739312090-c4uG5eg2qaSdZCJoVd0PcshyjxcDU8ir-0-06e8a38bf66267eea6cdac4783fa0529)
图4-14 播放音频文件
4.3.2 <video>标签
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P74_167977.jpg?sign=1739312090-S8YEEKqkgvFaTCJ3ShjHmxhbWLju7T3N-0-c9c1438a41ad40dd9bec49a094f633ae)
<video>标签主要是定义播放视频文件或者视频流的标准。它支持3种视频格式,分别为Ogg、WebM 和MPEG 4。
如果需要在HTML5网页中播放视频,输入的基本格式如下:
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P74_216165.jpg?sign=1739312090-Q4IUtLKNVQhJzR1ZuA2NdW3ADw96yXyg-0-af66be7a059e08c92520592436c8b0c0)
其中,在<video>与</video>之间插入的内容是供不支持video元素的浏览器显示的。
【例4-14】(实例文件:ch04\Chap4.14.html)在网页中插入视频。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P74_223204.jpg?sign=1739312090-EIxvQeJHowymQjGUoWyJipi6twmpnfoA-0-fa8371591dd0767f358857fc14c7b7f5)
相关的代码示例请参考Chap4.14.html文件,然后双击该文件,如果用户的浏览器是IE 11.0以前的版本,浏览效果如图4-15所示。可见,IE 11.0以前版本的浏览器不支持<video>标签。
在IE 11.0中浏览,效果如图4-16所示,可以看到加载的视频控制条界面。单击“播放”按钮,即可查看视频的内容,同时用户还可以调整音量的大小。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P74_167973.jpg?sign=1739312090-4hyvihx5iNjhx318NbBFs1xXs5uNPknH-0-c4466179cba2dbe0396dd63fca169523)
图4-15 不支持<video>标签
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P74_167974.jpg?sign=1739312090-1nG2meqBqd9CX1LzwFI5IIAdW4pqWRIH-0-c65cba722f468766b1978ceecc3654f7)
图4-16 预览视频效果
4.3.3 <canvas>标签
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P75_168035.jpg?sign=1739312090-Agp3vjQDgibR51ch82U4po6gXUv1oAQl-0-4e632f202f41cbdbad214447ff5a6ba9)
<canvas>标签是一个矩形区域,它包含width和height两个属性,分别表示矩形区域的宽度和高度,这两个属性都是可选的,并且都可以通过CSS来定义,其默认值是300px和150px。
<canvas>标签在网页中的常用格式如下:
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P75_216171.jpg?sign=1739312090-XXUbIvUIPco9H6RfY4t1kprlyjqrtQ8U-0-6b8d7e9d746d04843b1c5dcc1771ffc0)
上面的示例代码中,id表示画布对象名称,width和height分别表示宽度和高度。最初的画布是不可见的,此处为了观察这个矩形区域,使用CSS样式,即<style>标签。style表示画布的样式。如果浏览器不支持<canvas>标签,会显示画布中间的提示信息。
1.添加canvas的步骤
画布canvas本身不具有绘制图形的功能,它只是一个容器,如果读者对Java语言非常了解,就会发现HTML5的画布和Java中的Panel面板非常相似,都可以在容器中绘制图形。既然画布元素放好了,那么就可以使用脚本语言JavaScript在网页上绘制图形了。
使用canvas结合JavaScript绘制图形,一般情况下需要下面几个步骤。
第一步:JavaScript使用id来寻找canvas元素,即获取当前画布对象。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P75_216173.jpg?sign=1739312090-s0vm2IusyFdsH3O8s2l8KbiJsy9T3mE0-0-8b77302274ef9d3283232dfb011c8759)
第二步:创建context对象。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P75_216175.jpg?sign=1739312090-Wfhj2fN5rz3wNOMb3VsfnfxQZSHoy09Y-0-f154be1b2e666aac0f499a6687524add)
getContext()方法返回一个指定contextId的上下文对象,如果指定的id不被支持,则返回null,当前唯一被强制必须支持的是2d,也许在将来会有3d。注意,指定的id是大小写敏感的。对象cxt建立之后,就可以拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
第三步:绘制图形。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P75_216177.jpg?sign=1739312090-vqNMhnWPw6ef8TvV4tXOyqVn6kJFcCVi-0-ac4fd70fe5619b6b96351d0c746e2e70)
fillStyle()方法将其染成红色,fillRect()方法规定了形状、位置和尺寸。这两行代码绘制一个红色的矩形。
2.绘制基本形状
画布canvas结合JavaScript可以绘制简单的矩形,还可以绘制一些其他的常见图形,例如直线、圆等。下面以绘制矩形和圆形为例,来介绍使用canvas绘制基本形状的方法。
用canvas和JavaScript绘制矩形时,涉及一个或多个方法,这些方法如表4-2所示。
表4-2 绘制矩形的方法
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-T75_216180.jpg?sign=1739312090-QoEaUgmxLyTWB7ZLPEVhZE5RydjiNdUx-0-52fd5271458ec9584a6a47696e628ac2)
【例4-15】(实例文件:ch04\Chap4.15.html)绘制矩形。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P76_216182.jpg?sign=1739312090-z12qXxIRlROOutqrPslqmHEitX0DTjNT-0-57d261a661f571b365033a5d62109e44)
相关的代码示例请参考Chap4.15.html文件,然后双击该文件,就可以在IE浏览器中查看到绘制的矩形,效果如图4-17所示。可以看到,网页中,在一个蓝色边框内显示了一个蓝色矩形。
提示:上面的代码中,定义了一个画布对象,其id名称为myCanvas,高度和宽度都为500像素,并定义了画布边框的显示样式。代码中首先获取画布对象,然后使用getContext()方法获取当前2d的上下文对象,并使用fillRect()方法绘制一个矩形。其中涉及一个fillStyle属性,fillStyle用于设定填充的颜色、透明度等,如果设置为rgb(200,0,0),则表示一个不透明颜色;如果设置为rgba(0,0,200,0.5),则表示为一个透明度50%的颜色。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P76_168084.jpg?sign=1739312090-eUy5smxqhTcKImGv4pYB8ghDJ9e4Pjxe-0-34d052cb4827c5618910facbf689dd9d)
图4-17 绘制矩形
用canvas和JavaScript绘制圆形时,涉及一个或多个方法,这些方法如表4-3所示。
表4-3 绘制圆形的方法
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-T76_216186.jpg?sign=1739312090-to0ZKYRIZuqgUxrQ3NqFs5CM0FKHjQYU-0-92c73ae20d9827cff4b3d1c3bd9886ac)
路径是绘制自定义图形的好方法,在canvas中,通过beginPath()方法开始绘制路径,这个时候就可以绘制直线、曲线等,绘制完成后,调用fill()和stroke()方法完成填充和边框设置,通过closePath()方法结束路径的绘制。
【例4-16】(实例文件:ch04\Chap4.16.html)绘制圆形。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P77_216188.jpg?sign=1739312090-0RhhuFuFxmVWIcDJb0u5avIJ5BIeCYNa-0-62aafdfe51de3864438032f7c06f96fb)
相关的代码示例请参考Chap4.16.html文件,然后双击该文件,就可以在IE浏览器中查看到绘制的圆形,效果如图4-18所示。可以看到,在网页中,一个蓝色边框内显示了绘制的圆形。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P77_168195.jpg?sign=1739312090-UDyHonE3VpVi3OvlCrE03QYSCT6ifXug-0-d7f6f86db104d641d553ec05216d83b5)
图4-18 绘制圆形
4.4 典型案例——制作日程表
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P77_168204.jpg?sign=1739312090-oPtJbehh6s9tiCa4rVFjiO6rIrwwGyEz-0-03e2e8a2c572bd65f1b9019d17b3340c)
通过在记事本中输入HTML语句,可以制作出多种多样的页面效果。本节将以制作日程表为例,介绍HTML的综合应用方法,其具体的操作步骤如下。
第一步:打开记事本,在其中输入以下代码。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P77_216190.jpg?sign=1739312090-TnaHCMtOMw42rpbJdUpM1MA40x2XyQs3-0-c08c9a8fa551676a41fb5dc47976c7d6)
输入代码后的记事本页面,如图4-19所示。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P78_216232.jpg?sign=1739312090-eQpHmQ8DgX4m6YVvwckScYGfiA1G4pTd-0-b4d38f4c5a4dae4351bfbaaed506da91)
图4-19 在记事本中输入的代码
第二步:在</head>标签之前输入以下代码。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P78_216251.jpg?sign=1739312090-tAS5Ud2D73uzP8suktbokAmqN8WW7Z6u-0-ee1df6f2b4585e8f833b322b29494725)
输入代码后的记事本页面,如图4-20所示。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P78_216240.jpg?sign=1739312090-dLj2R4hIPXe0NmdRyjK7VcqrlyXoV6Y1-0-04a5978e694cb8d8354df0abd48084b2)
图4-20 输入CSS代码
第三步:在</style>标签之前输入以下代码。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P78_216253.jpg?sign=1739312090-93u1rBUWGUOpmks5sEJGQN4xFMBfxMoG-0-4e7d94360bb9e61dd2387366f6cfc3ee)
输入代码后的记事本页面,如图4-21所示。
第四步:在<body>和</body>标签之间输入以下代码。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P78_216248.jpg?sign=1739312090-6s3r90BhaE5ONXoowePz9HmqgvjsUXhn-0-c13a02faa8d18ed86029df4188d86aba)
输入代码后的记事本页面,如图4-22所示。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P79_168300.jpg?sign=1739312090-CJTJriyAGukNUGhd7cYPn0Foi8PN1EvC-0-71b936dab2ee6f1f2b2bd852790db5d9)
图4-21 输入控制字体样式的代码
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P79_168307.jpg?sign=1739312090-JPoi3WRE54hMjDqC4oGpBGyqGnHBIEy0-0-ca5618fb0316fdc8d439cdc85bedfdf7)
图4-22 输入块级代码
第五步:在</body>标签之前输入以下代码。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P79_216256.jpg?sign=1739312090-m7jW3PeFxWMOoV976m0EPWFslmlUbG0G-0-cf941ae2ce8d2bb2690c6084a9428bdf)
输入代码后的记事本页面如图4-23所示。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P80_168386.jpg?sign=1739312090-9f6DMFDS5Yq9dJEoLkbydOPOoU147Tbp-0-69b78938a2732b5f934386bc87869572)
图4-23 输入代码后的记事本页面
第六步:在记事本中选择“文件”→“保存”菜单命令,弹出“另存为”对话框,设置保存文件的位置,在“文件名”下拉列表框中输入“制作日程表.html”,然后单击“保存”按钮,如图4-24所示。
第七步:双击打开保存的制作日程表.html文件,即可看到制作的日程表,如图4-25所示。
第八步:如果需要在日程表中添加工作内容,可以用记事本打开制作日程表.html文件,在代码段“<td style="text-align: center"> </td>”的 之前输入内容即可。如要输入星期一完成的第一件工作内容“完成校对”,可在如图4-26所示的位置输入。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P81_168398.jpg?sign=1739312090-4D7SgufTP03dMXZGd7TFn1uFHrNeIFao-0-ab7fab9ab44ee1f80ad6914f98320b00)
图4-24 “另存为”对话框
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P81_168405.jpg?sign=1739312090-21WCvlXOUvg0LpfKLY4L013eNWs7KpMM-0-5ddc0095c0fcf3e4df14e1e81ceaa3fd)
图4-25 制作日程表
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P81_168412.jpg?sign=1739312090-4IjgCaGdPDoKkGvg3fR0rn8e0AsAvr7o-0-1780a4e1f9ea5b47d7b1d45ad5328f46)
图4-26 输入文字
第九步:保存后打开文档,即可在浏览器中看到添加的工作内容,如图4-27所示。
![](https://epubservercos.yuewen.com/544327/15253387304115506/epubprivate/OEBPS/Images/Figure-P82_168437.jpg?sign=1739312090-ob7nHhYdesfCrYlUNWikvcpnsofc9c0b-0-032f37ac3870b25e0fc5c92c8ed85a7a)
图4-27 最终的日程表预览效果
4.5 就业面试技巧与解析
4.5.1 面试技巧与解析(一)
面试官:使用记事本编辑HTML文件时应注意哪些事项?
应聘者:很多初学者在保存文件时,没有将HTML文件的扩展名改为.html或.htm,导致文件还是以.txt为扩展名,因此,无法在浏览器中查看。如果是通过右击创建的记事本文件,那么在给文件重命名时,一定要以.html或.htm作为文件的扩展名。特别要注意的是,当Windows系统的扩展名被隐藏时,更容易出现这样的错误。为避免这种情况的发生,可以在“文件夹选项”对话框中查看是否显示文件扩展名。
4.5.2 面试技巧与解析(二)
面试官:如何解决HTML5浏览器支持问题?
应聘者:浏览器对HTML5的支持需要一个过程,一款浏览器暂时还不能支持HTML5定义的全部内容。要想解决浏览器现在的支持问题,首先尽量使用大部分浏览器支持的HTML5元素及对象,其次可以分别将多个浏览器支持的对象格式融入代码中,如不同浏览器对音频文件格式支持不同,将多种多媒体文件融入代码中,这样不同的浏览器会自动选择自己支持的格式打开。