简介

由来

        HTML的英文全称是 Hyper Text Markup Language,即超文本标记语言。HTML是由Web的发明者 Tim Berners-Lee和同事 Daniel W. Connolly于1990年创立的一种标记语言,它是标准通用化标记语言SGML的应用。用HTML编写的超文本文档称为HTML文档,它能独立于各种操作系统平台(如UNIX, Windows等)。使用HTML,将所需要表达的信息按某种规则写成HTML文件,通过专用的浏览器来识别,并将这些HTML文件“翻译”成可以识别的信息,即现在所见到的网页。
        自1990年以来,HTML就一直被用作万维网的信息表示语言,使用HTML描述的文件需要通过web浏览器显示出效果。HTML是一种建立网页文件的语言,通过标记式的指令(Tag),将影像、声音、图片、文字动画、影视等内容显示出来。事实上,每一个HTML文档都是一种静态的网页文件,这个文件里面包含了HTML指令代码,这些指令代码并不是一种程序语言,只是一种排版网页中资料显示位置的标记结构语言,易学易懂,非常简单。HTML的普遍应用就是带来了超文本的技术―通过单击鼠标从一个主题跳转到另一个主题,从一个页面跳转到另一个页面,与世界各地主机的文件链接超文本传输协议规定了浏览器在运行HTML文档时所遵循的规则和进行的操作。HTTP的制定使浏览器在运行超文本时有了统一的规则和标准。
        万维网(world wide web,简称www)上的一个超媒体文档称之为一个页面(外语:page)。作为一个组织或者个人在万维网上放置开始点的页面称为主页(外语:Homepage)或首页,主页中通常包括有指向其他相关页面或其他节点的指针(超级链接),所谓超级链接,就是一种统一资源定位器(Uniform Resource Locator,外语缩写:URL)指针,通过激活(点击)它,可使浏览器方便地获取新的网页。这也是HTML获得广泛应用的最重要的原因之一。在逻辑上将视为一个整体的一系列页面的有机集合称为网站(Website或Site)。超文本标记语言(英文缩写:HTML)是为“网页创建和其它可在网页浏览器中看到的信息”设计的一种标记语言。
        网页的本质就是超文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。超文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。

定义

        超文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画面如何安排,图片如何显示等)。浏览器按顺序阅读网页文件,然后根据标记符解释和显示其标记的内容,对书写出错的标记将不指出其错误,且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出错部位。但需要注意的是,对于不同的浏览器,对同一标记符可能会有不完全相同的解释,因而可能会有不同的显示效果。

开发工具

我使用的开发工具是Visual Studio Code

下载链接:Visual Studio Code官网

常用浏览器及其内核

浏览器 内核
谷歌(Chrome) Blink
火狐(Firefox) Gecko
Safair Wenkit
Opera Blink
IE Trident

这里推荐使用谷歌浏览器(Chrome)(Blink)

Visual Studio Code 简介

        Visual Studio Code(简称“VS Code” )是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代Web和云应用的跨平台源代码编辑器, 可在桌面上运行,并且可用于Windows,macOS和Linux。它具有对JavaScript,TypeScript和Node.js的内置支持,并具有丰富的其他语言(例如C++,C#,Java,Python,PHP,Go)和运行时(例如.NET和Unity)扩展的生态系统。

插件安装

VS Code可以安装许多插件,为了更方便地书写和调试代码,这里推荐几个插件。

简体中文插件

VS Code默认是英文界面,使用该插件可以将软件内的所有语言改成中文。

插件名:Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code

简体中文插件

默认浏览器打开插件

由于我们调试的时候需要使用浏览器进行运行,但是每次打开浏览器又会非常麻烦,因此安装该插件可以直接使用快捷键进行打开,节省了大量的时间。

快捷键:Alt + B

插件名:Open In Default Browser

默认浏览器打开插件

准备工作

首先将谷歌浏览器设置为默认浏览器,然后创建一个后缀名为html的文件,使用VS Code打开文件所在的文件夹。

初始界面

HTML基本骨架

输入一个叹号(!)然后摁回车键可以得到一段初始化好的代码 ,这段代码被称为HTML基本骨架

注意一定要是英文的叹号。

初始代码

基本骨架含义

1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>  <!-- 一种通用标记语言的文档类型声明,告诉标准通用标记语言解析器,应当使用什么文档类型来进行解析 -->
<html lang="en"> <!-- 定义语言的种类,其中en表示English,表示英文网页 -->
<head> <!-- 表示网页头部的部分 -->
<meta charset="UTF-8"> <!-- 通过charset属性来规定HTML文档应该使用哪种字符编码 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Demo</title> <!-- 代表标签网页的标题,即标签页的名字 -->
</head>
<body> <!-- 代表网页的主体 -->
Hello world! <!-- 网页的内容 -->
</body>
</html>

可以使用快捷键Alt + B在浏览器中打开,切记在运行之前需要使用快捷键Ctrl + S进行保存。

结果展示:

Hello world!

双标签与单标签

标签一共分为两种,一种叫做双标签,另一种叫单标签。

双标签:前部分叫开始标签,后部分叫结束标签,两部分之间包裹内容。

例:

1
<strong>双标签演示</strong>

单标签:自成一体,无法包裹内容

例:

1
<br>

路径

绝对路径

指目录下的绝对位置,可直接到达目标位置,通常从盘符开始的路径。

例:E:/Workspaces/hexo/themes/butterfly/source/img/posts/HTML语法/HTML语法/img/壁纸.jpg

相对路径

同级目录:./

下级目录:文件夹名/

上级目录:../

例:img/壁纸.jpg

属性

属性指的是标签的属性,需要借助标签进行设置。

属性的注意点:

  • 标签的属性写在开始标签内部

  • 标签上可以同时存在多个属性

  • 属性之间以空格隔开

  • 标签名与属性之间必须以空格隔开

  • 属性之间没有顺序之分

例:

1
<img src="img/壁纸.jpg" alt="图片加载失败">

其中img是标签,srcalt均为属性,而引号里面的东西为属性的值,即属性值。

注释

注释内容一般是给开发者看的,并不会显示在实际的网页中,基本写法是用<!-- -->将注释内容包裹起来。

例:

1
<!-- 注释内容 -->

标题标签

标题分为1~6级别标题,重要程度依次递减,基本写法是用<h1> </h1>将标题内容包裹起来,其中h后面的数字表示标题的级别,最多可以写到6。

特点:

  • 文字默认加粗

  • 依次减小

  • 独占一行

例:书写1~6级标题

1
2
3
4
5
6
7
8
<body>
<h1>一级标题</h1>
<h2>二级标题</h2>
<h3>三级标题</h3>
<h4>四级标题</h4>
<h5>五级标题</h5>
<h6>六级标题</h6>
</body>

结果展示:

标题标签

段落标签

一个段落,分段显示,基本写法是用<p> </p>将段落内容包裹起来。

特点:

  • 段落之间存在间隙

  • 独占一行

例:使用段落标签书写I have a dream前三段

1
2
3
4
5
<body>
<p>I am happy to join with you today in what will go down in history as the greatest demonstration for freedom in the history of our nation.</p>
<p>Five score years ago, a great American, in whose symbolic shadow we stand today, signed the Emancipation Proclamation. This momentous decree came as a great beacon light of hope to millions of Negro slaves who had been seared in the flames of withering injustice. It came as a joyous daybreak to end the long night of bad captivity.</p>
<p>But one hundred years later, the Negro still is not free. One hundred years later, the life of the Negro is still sadly crippled by the manacles of segregation and the chains of discrimination. One hundred years later, the Negro lives on a lonely island of poverty in the midst of a vast ocean of material prosperity. One hundred years later, the Negro is still languished in the corners of American society and finds himself an exile in his own land. And so we've come here today to dramatize a shameful condition.</p>
</body>

结果展示:

段落标签

换行标签

强制换行,基本写法是直接写一个<br>

特点:

  • 单标签

  • 让文字强制换行

例:书写I have a dream前三段,并且每段间隔三行

1
2
3
4
5
6
7
8
9
10
11
<body>
<p>I am happy to join with you today in what will go down in history as the greatest demonstration for freedom in the history of our nation.</p>
<br>
<br>
<br>
<p>Five score years ago, a great American, in whose symbolic shadow we stand today, signed the Emancipation Proclamation. This momentous decree came as a great beacon light of hope to millions of Negro slaves who had been seared in the flames of withering injustice. It came as a joyous daybreak to end the long night of bad captivity.</p>
<br>
<br>
<br>
<p>But one hundred years later, the Negro still is not free. One hundred years later, the life of the Negro is still sadly crippled by the manacles of segregation and the chains of discrimination. One hundred years later, the Negro lives on a lonely island of poverty in the midst of a vast ocean of material prosperity. One hundred years later, the Negro is still languished in the corners of American society and finds himself an exile in his own land. And so we've come here today to dramatize a shameful condition.</p>
</body>

结果展示:

换行标签

水平线标签

主题的分割转换,基本写法是直接写一个<hr>

特点:

  • 单标签

  • 在页面中显示一条水平线

例:书写I have a dream前三段,并且每段使用一个水平线隔开

1
2
3
4
5
6
7
<body>
<p>I am happy to join with you today in what will go down in history as the greatest demonstration for freedom in the history of our nation.</p>
<hr>
<p>Five score years ago, a great American, in whose symbolic shadow we stand today, signed the Emancipation Proclamation. This momentous decree came as a great beacon light of hope to millions of Negro slaves who had been seared in the flames of withering injustice. It came as a joyous daybreak to end the long night of bad captivity.</p>
<hr>
<p>But one hundred years later, the Negro still is not free. One hundred years later, the life of the Negro is still sadly crippled by the manacles of segregation and the chains of discrimination. One hundred years later, the Negro lives on a lonely island of poverty in the midst of a vast ocean of material prosperity. One hundred years later, the Negro is still languished in the corners of American society and finds himself an exile in his own land. And so we've come here today to dramatize a shameful condition.</p>
</body>

结果展示:

水平线标签

文本格式化标签

主要功能:

  1. 文字加粗 <b> </b>    <strong> </strong>

  2. 下划线 <u> </u>    <ins> </ins>

  3. 倾斜 <i> </i>    <em> </em>

  4. 删除线 <s> </s>    <del> </del>

长的标签是为了突出重要性,用来强调语境,视觉效果上是完全相同的。

例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<body>
<b>加粗</b>
<br>
<strong>加粗</strong>
<hr>
<u>下划线</u>
<br>
<ins>下划线</ins>
<hr>
<i>倾斜</i>
<br>
<em>倾斜</em>
<hr>
<s>删除线</s>
<br>
<del>删除线</del>
</body>

结果展示:

文本格式化标签

图片标签

在网页中显示图片,基本写法是<img src="" alt="">

特点:

  • 单标签

  • img标签如果要展示对应的效果,需要借助标签的属性进行设置。

属性:

  • src:添加图片的路径,从而显示图片

  • alt:图片加载失败时进行文本替换

  • title:鼠标悬停时显示文字

  • widthheight:表示图片的宽度和高度,如果只设置一个,将会自动比例缩放(图片不会变形),默认单位为像素(px)

例:添加一张相对路径为img/壁纸.jpg的图片,加载失败显示文字为“图片加载失败”,鼠标悬停文字为“壁纸”,宽度和高度分别是800和500

1
2
3
<body>
<img src="img/壁纸.jpg" alt="图片加载失败" title="壁纸" width="800" height="500">
</body>

结果展示:

图片标签

音频标签

在页面中插入音频,基本写法是<audio src=""></audio>

属性:

  • src:添加音频的路径

  • controls:显示播放的控件

  • autoplay:自动播放(部分浏览器不支持)

  • loop:循环播放

例:添加一个相对路径为audio/Aimer - LAST STARDUST.mp3的音频,添加显示播放的控件,设置为自动播放,循环播放

1
2
3
<body>
<audio src="audio/Aimer - LAST STARDUST.mp3" controls autoplay loop></audio>
</body>

结果展示:

音频标签

视频标签

在页面中插入视频,基本写法是<video src=""></video>

属性:

  • src:添加视频的路径

  • controls:显示播放的控件

  • autoplay:自动播放(谷歌浏览器中需要配合muted实现静音播放)

  • loop:循环播放

  • widthheight:控制宽度和高度

例:添加一个相对路径为video/CG.mp4的音频,添加显示播放的控件,设置为自动静音播放,循环播放,宽度和高度设置为800和500

1
2
3
<body>
<video src="video/CG.mp4" controls autoplay muted loop width="800" height="500"></video>
</body>

结果展示:

视频标签

链接标签

点击之后,从一个页面跳转至另外一个页面,基本写法是<a href=""></a>其中href后面写跳转到的链接,两个标签之间写显示的文字。

在实际开发过程中,可能遇到链接还没有制作的过程,因此可以在href后面写#作为空链接进行占位。

属性:

  • target:有两个属性值
    • _self:默认值,在当前窗口中跳转(覆盖原网页)

    • ·_blank`:在新窗口中跳转(保留原网页)

例:制作两个链接,分别在当前窗口跳转和在新窗口中跳转,跳转地址均为该博客

1
2
3
4
5
<body>
<a href="https://big-worth.github.io/" target="_self">当前窗口跳转</a>
<br>
<a href="https://big-worth.github.io/" target="_blank">新窗口跳转</a>
</body>

结果展示:

链接标签

列表标签

无序列表

在网页中表示一组无顺序之分的列表。

标签名:

  • ul:表示无序列表的整体,用于包裹li标签

  • li:表示无序列表的每一项,用于包含每一行的内容

显示特点:列表的每一项前默认显示圆点标识。

注意点:ul标签中只允许包含li标签,li标签可以包含任意内容。

例:制作一个无序列表,内容是从星期一至星期日

1
2
3
4
5
6
7
8
9
10
11
<body>
<ul>
<li>星期一</li>
<li>星期二</li>
<li>星期三</li>
<li>星期四</li>
<li>星期五</li>
<li>星期六</li>
<li>星期日</li>
</ul>
</body>

结果显示:

无序列表

有序列表

在网页中表示一组有顺序之分的列表。

标签名:

  • ol:表示有序列表的整体,用于包裹li标签

  • li:表示有序列表的每一项,用于包含每一行的内容

显示特点:列表的每一项前默认显示序号标识。

注意点:ol标签中只允许包含li标签,li标签可以包含任意内容。

例:制作一个有序列表,内容是从星期一至星期日

1
2
3
4
5
6
7
8
9
10
11
<body>
<ol>
<li>星期一</li>
<li>星期二</li>
<li>星期三</li>
<li>星期四</li>
<li>星期五</li>
<li>星期六</li>
<li>星期日</li>
</ol>
</body>

结果显示:

有序列表

自定义列表

在网页的导航中通常会使用自定义列表实现。

标签名:

  • dl:表示自定义列表的整体,用于包裹dtdd标签

  • dt:表示自定义列表的主题

  • dd:表示自定义列表的针对主题的每一项内容

显示特点:dd前会默认显示缩进效果。

注意点:dl标签中只允许包含dtdd标签,dtdd标签可以包含任意内容。

例:制作一个自定义列表,分为工作日和休息日,工作日中包括星期一到星期五,休息日中包括星期六到星期日

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<body>
<dl>
<dt>工作日</dd>
<dd>星期一</dd>
<dd>星期二</dd>
<dd>星期三</dd>
<dd>星期四</dd>
<dd>星期五</dd>

<dt>休息日</dt>
<dd>星期六</dd>
<dd>星期日</dd>
</dl>
</body>

结果展示:

自定义列表

表格

标签名与属性

在网页中以列的单元格的方式整齐展示的数据。

标签名:

  • table:表格整体,可以用于包裹多个tr

  • tr:表示每行,可用于包裹td

  • td:表格单元格,可用于包裹内容

注意点:标签的嵌套关系为table>tr>td

属性:

  • border:属性值为数字,表示边框的宽度

  • width:属性值为数字,表示表格的宽度

  • height:属性值为数字,表示表格的高度

注意点:在实际开发中一般使用CSS设置表格的样式。

标题与表头单元格

在表格中表示整体大标题和一行小标题。

标签名:

  • caption:表格大标题,表示表格整体的大标题,默认在表格整体顶部居中位置显示

  • th:表头单元格,表示一行小标题,通常用于表格第一行,默认内部文字加粗并居中显示

注意点:caption标签写在table标签内部,th标签写在th标签内部(用于替换td标签)

表格的结构标签

让表格的内容结构分组,突出表格的不同成分(头部、主题、底部),使语义更加清晰。

标签名:

  • thead: 表格头部

  • tbody:表格主体

  • foot:表格底部

合并单元格

跨行合并(垂直合并成一个)

跨列合并(水平合并成一个)

合并单元格的步骤:

  1. 明确合并哪几个单元格

  2. 通过左上原则,确定保留谁:

    1. 上下合并:只保留最上的,删除其他

    2. 左右合并:只保留最左的,删除其他

  3. 给保留的单元格设置:跨行合并(rowspan)或者跨列合并(colspan

属性:

  • rowspan:属性值表示合并单元格的个数,跨行合并,将多行的单元格垂直合并

  • colspan:属性值表示合并单元格的个数,跨列合并,将多列的单元格水平合并

注意点:只有一个结构标签中的单元格才能合并,不能跨结构合并标签(不能跨thead tbody tfoot

例:使用结构标签制作一个乘法表,表头为“九九乘法表”并加粗,并将剩下的没有数据的格子进行合并,边框宽度为1,最后一行用字母表示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<body>
<table border="1">
<caption><strong>九九乘法表</strong></caption>
<thead>
<tr>
<th> </th>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
<th>7</th>
<th>8</th>
<th>9</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td colspan="9">1*1=1</td>
</tr>
<tr>
<td>2</td>
<td>1*2=2</td>
<td colspan="8">2*2=4</td>
</tr>
<tr>
<td>3</td>
<td>1*3=3</td>
<td>2*3=6</td>
<td colspan="7">3*3=9</td>
</tr>
<tr>
<td>4</td>
<td>1*4=4</td>
<td>2*4=8</td>
<td>3*4=12</td>
<td colspan="6">4*4=16</td>
</tr>
<tr>
<td>5</td>
<td>1*5=5</td>
<td>2*5=10</td>
<td>3*5=15</td>
<td>4*5=20</td>
<td colspan="5">5*5=25</td>
</tr>
<tr>
<td>6</td>
<td>1*6=6</td>
<td>2*6=12</td>
<td>3*6=18</td>
<td>4*6=24</td>
<td>5*6=30</td>
<td colspan="4">6*6=36</td>
</tr>
<tr>
<td>7</td>
<td>1*7=7</td>
<td>2*7=14</td>
<td>3*7=21</td>
<td>4*7=28</td>
<td>5*7=35</td>
<td>6*7=42</td>
<td colspan="3">7*7=49</td>
</tr>
<tr>
<td>8</td>
<td>1*8=8</td>
<td>2*8=16</td>
<td>3*8=24</td>
<td>4*8=32</td>
<td>5*8=40</td>
<td>6*8=48</td>
<td>7*8=56</td>
<td colspan="2">8*8=64</td>
</tr>
<tr>
<td>9</td>
<td>1*9=9</td>
<td>2*9=18</td>
<td>3*9=27</td>
<td>4*9=36</td>
<td>5*9=45</td>
<td>6*9=54</td>
<td>7*9=63</td>
<td>8*9=72</td>
<td colspan="1">9*9=81</td>
</tr>
</tbody>
<tfoot>
<tr>
<td> </td>
<td>a</td>
<td>b</td>
<td>c</td>
<td>d</td>
<td>e</td>
<td>f</td>
<td>g</td>
<td>h</td>
<td>i</td>
</tr>
</tfoot>
</table>
</body>

结果展示:

表格

input系列标签

input标签

在网页中显示收集用户信息的表单,标签名为input,基本写法是<input type="text">

属性值:

  • text:文本框,用于输入单行文本

  • password:密码框,用于输入密码

  • radio:单选框,用于多选一的情况

  • checkbox:多选框,用于多选多的情况

  • file:文件选择,用于之后上传文件

  • submit:提交按钮,用于提交

  • reset:重置按钮,用于重置

  • button:普通按钮,默认无功能,之后配合js添加功能

文本框(text password)系列标签

在网页中显示输入单行文本的表单控件。

属性:

  • placeholder:占位符。提示用户输入内容的文本

  • value:初始值。会在文本框初始时显示

例:制作一个文本框,提示信息为“账号”,制作一个密码框,提示信息为“密码”

1
2
3
4
5
<body>
<input type="text" placeholder="账号">
<br>
<input type="password" placeholder="密码">
</body>

结果展示:

文本框系列标签

文本框系列标签输入展示

单选框(radio)系列标签

在网页中显示多选一的单选表单控件。

属性:

  • name:分组。有相同属性的单选框为一组,一组中同时只能有一个被选中

  • checked:默认选中

注意点:name属性对于单选框有分组功能,有相同name属性值的单选框为一组,一组中只能同时有一个被选中。

例:制作一个单选框,内容是性别,一共三个选项,分别是男,女,保密,默认选择保密

1
2
3
4
5
6
<body>
性别:
<input type="radio" name="sex">
<input type="radio" name="sex">
<input type="radio" name="sex" checked>保密
</body>

结果展示:

单选框系列标签

多选框(checkbox)系列标签

在网页中显示多选多的多选表单控件。

属性:

  • name:分组。有相同属性的单选框为一组,一组可以有多个被选中

  • checked:默认选中

注意点:name属性对于单选框有分组功能,有相同name属性值的单选框为一组,一组中可以同时有多个被选中。

例:制作一个多选框,内容是爱好,设置五个爱好,分别是运动,唱歌,画画,睡觉,其他,其中其他后面需要跟一个文本框,提示信息为其他爱好,默认选择为运动

1
2
3
4
5
6
7
8
9
<body>
爱好:
<input type="checkbox" name="hobby" checked>运动
<input type="checkbox" name="hobby">唱歌
<input type="checkbox" name="hobby">画画
<input type="checkbox" name="hobby">睡觉
<input type="checkbox" name="hobby">其他
<input type="text" placeholder="其他爱好">
</body>

结果展示:

多选框系列标签

多选框系列标签输入展示

文件选择(file)

在网页中显示文件选择的表单控件。

属性:

  • multiple:多文件选择

例:制作一个文件上传控件,设置为多文件选择

1
2
3
<body>
<input type="file" multiple>
</body>

结果展示:

文件选择

按钮(button)

在网页中显示不用功能的按钮表单控件。

属性值:

  • submit:提交按钮。点击之后提交数据给后端服务器

  • reset:重置按钮。点击之后恢复表单默认值

  • button:普通按钮。默认无功能,之后配合js添加功能

属性:

  • value:替换按钮上的文字

注意点:如果需要实现以上按钮功能,需要配合form标签使用

form标签使用方法:用form标签把表单标签一起包裹起来即可。

属性:

  • value:设置按钮名字

注意点:谷歌浏览器button按钮默认是提交按钮。

还可以使用button标签,button标签是双标签,更便于包裹其他内容:文字、图片等。

例:制作一个个人信息表单,并能够实现上传重置等功能。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<body>
<form action="">
姓名:
<input type="text" placeholder="姓名">
<br>
性别:
<input type="radio" name="sex">
<input type="radio" name="sex">
<input type="radio" name="sex" checked>保密
<br>
爱好:
<input type="checkbox" name="hobby" checked>运动
<input type="checkbox" name="hobby">唱歌
<input type="checkbox" name="hobby">画画
<input type="checkbox" name="hobby">睡觉
<input type="checkbox" name="hobby">其他
<input type="text" placeholder=其他爱好>
<br>
<input type="submit" name="" id="" value="上传信息">
<input type="reset" value="重置信息">
<input type="button" name="" id="" value="默认为上传按钮">
<br>
<button type="submit">上传信息</button>
<button type="reset">重置信息</button>
<button>默认为上传按钮</button>
</form>
</body>

结果展示:

按钮

下拉菜单(select)按钮

在网页中提供多个选择项的下拉菜单表单控件。

标签名:

  • select:下拉菜单的整体

  • option:下拉菜单的每一项

属性:

  • selected:下拉菜单的默认选中

例:制作一个时间下拉菜单,内容是星期一到星期五,默认选择星期三

1
2
3
4
5
6
7
8
9
<body>
<select name="" id="">
<option value="">星期一</option>
<option value="">星期二</option>
<option value="" selected>星期三</option>
<option value="">星期四</option>
<option value="">星期五</option>
</select>
</body>

结果展示:

下拉菜单按钮

文本域标签(textarea)

在网页中提供可输入多行文本的表单控件,基本写法是<textarea name="" id="" cols="30" rows="10"></textarea>

属性:

  • clos:规定了文本域内可见宽度

  • rows:规定了文本域内可见行数

注意点:右下角可以拖拽改变大小,实际开发时针对于样式效果推荐CSS设置。

例:制作一个文本域标签,宽度为20,行数为10

结果展示:

文本域标签

label标签

常用于绑定内容与表单标签的关系,可以实现点击文本也可以选中单选框多选框,基本写法是<label for=""></label>

  1. 使用方法1

    1. 使用label标签把内容(如文本)包裹起来

    2. 在表单标签上添加id属性

    3. label标签的for属性中设置对应的id属性值

  2. 使用方法2

    1. 直接用label标签把内容(如文本)和表单标签一起包裹起来

    2. 需要把label标签的for属性删除即可

例:制作一个性别选择,分别使用两种方法为男和女两个选项添加label标签

1
2
3
4
5
<body>
性别:
<input type="radio" name="sex" id="male"> <label for="male"></label>
<label><input type="radio" name="sex"></label>
</body>

结果展示:

label标签

无语义标签

实际开发网页时会大量频繁使用divspan这两个无语义的布局标签,基本写法是<div></div><span></span>

标签:

  • div标签:一行只显示一个(独占一行)

  • span标签:一行可以显示多个

有语义标签(手机端网页)

HTML5新版本中,退出了一些有语义的布局标签供开发者使用。

标签名:

  • header:网页头部

  • nav:网页导航

  • footer:网页底部

  • aside:网页侧边栏

  • section:网页区块

  • article:网页文章

注意点:以上标签显示特点和div一致,但是比div多了不同的语义。

实体字符

因为很多符号不能直接表示出来,因此需要使用实体字符进行代替。

显示结果 描述 实体名称 实体编号
空格 &nbsp;  
< 小于号 &lt; <
> 大于号 &gt; >
& 和号 &amp; &
引号 &quot; "
撇号 &apos; (IE不支持) '
分(cent) &cent; ¢
£ 镑(pound) &pound; £
¥ 元(yen) &yen; ¥
欧元(euro) &euro;
§ 小节 &sect; §
© 版权(copyright) &copy; ©
® 注册商标 &reg; ®
商标 &trade;
× 乘号 &times; ×
÷ 除号 &divide; ÷

使用过程中需要输入实体名称。

例:制作一个版权符号

1
2
3
<body>
©
</body>

结果展示:

实体字符