HTML 使用超级链接与网络上的另一个文档相连。
几乎可以在所有的网页中找到链接。点击链接可以从一张页面跳转到另一张页面。
HTML 超链接(链接)
超链接可以是一个字,一个词,或者一组词,也可以是一幅图像,您可以点击这些内容来跳转到新的文档或者当前文档中的某个部分。
当您把鼠标指针移动到网页中的某个链接上时,箭头会变为一只小手。
我们通过使用 <a> 标签在 HTML 中创建链接。
有两种使用 <a> 标签的方式:
- 通过使用 href 属性 - 创建指向另一个文档的链接
- 通过使用 name 属性 - 创建文档内的书签
<html>
<body>
<p>
<a href="/index.html">本文本</a> 是一个指向本网站中的一个页面的链接。</p>
<p><a href="https://i.csdn.net/#/user-center/profile?spm=1011.2266.3001.5111">本文本</a> 是一个指向万维网上的页面的链接。</p>
</body>
</html>
图像标签(<img>)和源属性(Src)
在 HTML 中,图像由 <img> 标签定义。
<img> 是空标签,意思是说,它只包含属性,并且没有闭合标签。
要在页面上显示图像,你需要使用源属性(src)。src 指 "source"。源属性的值是图像的 URL 地址。
定义图像的语法是:
<img src="url" />
<img>定义图像
<map>定义图像地图
<area>定义图像地图中的可点击区域。
<html>
<body>
<p>
一幅图像:
<img src="https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0A/0B/ChMkJl4X3nmIaIfnAAZRyAgdiAcAAwQAwBW-9EABlHg809.jpg" width="150" height="150" />
</p>
<p>
一幅动画图像:
<img src="https://tse1-mm.cn.bing.net/th/id/R-C.1abddd3c3667637a875f8f01ed65b588?rik=Wrg8uZX94UFqvw&riu=http%3a%2f%2fwww.52gougouwang.com%2fuploads%2fallimg%2f200428%2f6-20042Q24412943.gif&ehk=yAAUF%2b6qlXf42h%2bfIr%2fUvXoW6W%2fsdDHBEThD70DS5KA%3d&risl=&pid=ImgRaw&r=0" width="200" height="200" />
</p>
<p>注意,插入动画图像的语法与插入普通图像的语法没有区别。</p>
</body>
</html>
图像标签(<img>)和源属性(Src)
在 HTML 中,图像由 <img> 标签定义。
<img> 是空标签,它只包含属性,并且没有闭合标签。
要在页面上显示图像,需要使用源属性(src)。src 指 "source"。源属性的值是图像的 URL 地址。
定义图像的语法是:
<img src="url" />
表格标签
描述 | |
---|---|
<table> | 定义表格 |
<caption> | 定义表格标题。 |
<th> | 定义表格的表头。 |
<tr> | 定义表格的行。 |
<td> | 定义表格单元。 |
<thead> | 定义表格的页眉。 |
<tbody> | 定义表格的主体。 |
<tfoot> | 定义表格的页脚。 |
<col> | 定义用于表格列的属性。 |
<colgroup> | 定义表格列的组。 |
表格
表格由 <table> 标签来定义。每个表格均有若干行(由 <tr> 标签定义),每行被分割为若干单元格(由 <td> 标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。
<table border="1">
<tr>
<td>这里是表格内容</td>
<td>这里是表格内容</td>
</tr>
<tr>
<td>这里是表格内容/td>
<td>这里是表格内容</td>
</tr>
</table>
表格的表头
表格的表头使用 <th> 标签进行定义。
大多数浏览器会把表头显示为粗体居中的文本:
<table border="1">
<tr>
<th>粗体居中的字体</th>
<th>粗体居中的字体</th>
</tr>
<tr>
<td>表格里面的内容</td>
<td>表格里面的内容</td>
</tr>
<tr>
<td>表格里面的内容</td>
<td>表格里面的内容</td>
</tr>
</table>
表格中的空单元格
在一些浏览器中,没有内容的表格单元显示得不太好。如果某个单元格是空的(没有内容),浏览器可能无法显示出这个单元格的边框。
<table border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td></td>
<td>row 2, cell 2</td>
</tr>
</table>
这个空的单元格的边框没有被显示出来。为了避免这种情况,在空单元格中添加一个空格占位符
,就可以将边框显示出来。
<table border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td> </td>
<td>row 2, cell 2</td>
</tr>
</table>
列表标签
标签 | 描述 |
---|---|
<ol> | 定义有序列表。 |
<ul> | 定义无序列表。 |
<li> | 定义列表项。 |
<dl> | 定义定义列表。 |
<dt> | 定义定义项目。 |
<dd> | 定义定义的描述。 |
<dir> | 已废弃。使用 <ul> 代替它。 |
<menu> | 已废弃。使用 <ul> 代替它。 |
无序列表
无序列表是一个项目的列表,此列项目使用粗体圆点(典型的小黑圆圈)进行标记。
无序列表始于 <ul> 标签。每个列表项始于 <li>。
<ul>
<li>巧克力</li>
<li>草莓</li>
</ul>
列表项内部可以使用段落、换行符、图片、链接以及其他列表等等。
有序列表
同样,有序列表也是一列项目,列表项目使用数字进行标记。
有序列表始于 <ol> 标签。每个列表项始于 <li> 标签。
<html>
<body>
<ol>
<li>椰子</li>
<li>草莓</li>
<li>巧克力</li>
</ol>
<ol start="20">
<li>矿泉水</li>
<li>酸酸乳</li>
<li>乌龙茶</li>
</ol>
</body>
</html>
HTML 头部元素
HTML <head> 元素
<head> 元素是所有头部元素的容器。<head> 内的元素可包含脚本,指示浏览器在何处可以找到样式表,提供元信息,等等。
以下标签都可以添加到 head 部分:<title>、<base>、<link>、<meta>、<script> 以及 <style>。
HTML <title> 元素
<title> 标签定义文档的标题。
title 元素在所有 HTML/XHTML 文档中都是必需的。
title 元素能够:
- 定义浏览器工具栏中的标题
- 提供页面被添加到收藏夹时显示的标题
- 显示在搜索引擎结果中的页面标题
一个简化的 HTML 文档:
<html>
<head>
<title>文件标题</title>
</head>
<body>
文件内容
</body>
</html>
HTML <base> 元素
<base> 标签为页面上的所有链接规定默认地址或默认目标(target)
<head>
<base href="http://www.w3school.com.cn/images/" />
<base target="_blank" />
</head>
HTML <link> 元素
<link> 标签定义文档与外部资源之间的关系。
<link> 标签最常用于连接样式表:
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css" />
</head>
HTML <style> 元素
<style> 标签用于为 HTML 文档定义样式信息。
您可以在 style 元素内规定 HTML 元素在浏览器中呈现的样式:
<head>
<style type="text/css">
body {background-color:yellow}
p {color:blue}
</style>
</head>
HTML <meta> 元素
元数据(metadata)是关于数据的信息。
<meta> 标签提供关于 HTML 文档的元数据。元数据不会显示在页面上,但是对于机器是可读的。
典型的情况是,meta 元素被用于规定页面的描述、关键词、文档的作者、最后修改时间以及其他元数据。
<meta> 标签始终位于 head 元素中。
HTML 头部元素
标签 | 描述 |
---|---|
<head> | 定义关于文档的信息。 |
<title> | 定义文档标题。 |
<base> | 定义页面上所有链接的默认地址或默认目标。 |
<link> | 定义文档与外部资源之间的关系。 |
<meta> | 定义关于 HTML 文档的元数据。 |
<script> | 定义客户端脚本。 |
<style> | 定义文档的样式信息。 |
HTML 编码(字符集)
在 HTML 中使用表情符号
表情符号(Emoji)是来自 UTF-8 字符集的字符:😄 😍 💗
表情符号(Emoji)类似图像或图标,但它们并不是。
它们是来自 UTF-8 (Unicode) 字符集的字母(字符)。
UTF-8 几乎涵盖世界上所有字符和符号。
UTF-8 字符
很多 UTF-8 字符无法在键盘上键入,但始终可以使用数字(被称为实体编号)来显示它们:
- A 是 65
- B 是 66
- C 是 67
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<p>显示 A B C</p>
<p>显示 A B C</p>
</body>
</html>
<meta charset="UTF-8">
元素定义字符集。
字符 A、B、C 由数字 65、66 以及 67 来显示。
为了让浏览器了解您正在显示字符,您必须以 &# 开头并以 ;(分号)结束实体编号。
Emoji 字符
表情符号也是来自 UTF-8 字母的字符:
- 😄 是 128516
- 😍 是 128525
- 💗 是 128151
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<h1>我的第一个 Emoji</h1>
<p>💗</p>
</body>
</html>
由于表情符号是字符,因此可以像 HTML 中的其他任何字符一样复制、显示和调整它们的大小。
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<h1>放大的表情符号</h1>
<p style="font-size:48px">
😀 😄 😍 💗
</p>
</body>
</html>
UTF-8 中的一些 Emoji 符号
Emoji | 值 |
---|---|
🗻 | 🗻 |
🗼 | 🗼 |
🗽 | 🗽 |
🗾 | 🗾 |
🗿 | 🗿 |
😀 | 😀 |
😁 | 😁 |
😂 | 😂 |
😃 | 😃 |
😄 | 😄 |
😅 | 😅 |
<form> 元素
HTML 表单用于收集用户输入。
<form> 元素定义 HTML 表单:
<form> . 内容 . </form>
HTML 表单包含表单元素。
表单元素指的是不同类型的 input 元素、复选框、单选按钮、提交按钮等等。
<input> 元素
<input> 元素是最重要的表单元素。
<input> 元素有很多形态,根据不同的 type 属性。
这是本章中使用的类型:
类型 | 描述 |
---|---|
text | 定义常规文本输入。 |
radio | 定义单选按钮输入(选择多个选择之一) |
submit | 定义提交按钮(提交表单) |
文本输入
<input type="text"> 定义用于文本输入的单行输入字段:
<!DOCTYPE html>
<html>
<body>
<form>
姓名:<br>
<input type="text" name="firstname">
<br>
性别:<br>
<input type="text" name="lastname">
</form>
<p>表单本身是不可见的。</p>
<p>文本字段的默认宽度是 20 个字符。</p>
</body>
</html>
单选按钮输入
<input type="radio"> 定义单选按钮。
单选按钮允许用户在有限数量的选项中选择其中之一:
<!DOCTYPE html>
<html>
<body>
<form>
<input type="radio" name="sex" value="错误" checked>正确
<br>
<input type="radio" name="sex" value="正确">错误
</form>
</body>
</html>
提交按钮
<input type="submit"> 定义用于向表单处理程序(form-handler)提交表单的按钮。
表单处理程序通常是包含用来处理输入数据的脚本的服务器页面。
表单处理程序在表单的 action 属性中指定:
<!DOCTYPE html>
<html>
<body>
<form action="/demo/demo_form.asp">
First name:<br>
<input type="text" name="firstname" value="xiaoyu">
<br>
Last name:<br>
<input type="text" name="gender" value="nan">
<br><br>
<input type="submit" value="Submit">
</form>
<p>如果您点击提交,表单数据会被发送到名为 demo_form.asp 的页面。</p>
</body>
</html>
Action 属性
action 属性定义在提交表单时执行的动作。
向服务器提交表单的通常做法是使用提交按钮。
通常,表单会被提交到 web 服务器上的网页。
在上面的例子中,指定了某个服务器脚本来处理被提交表单:
<form action="action_page.php">
如果省略 action 属性,则 action 会被设置为当前页面。
Method 属性
method 属性规定在提交表单时所用的 HTTP 方法(GET 或 POST):
<form action="action_page.php" method="GET">
或:
<form action="action_page.php" method="POST">
Action 属性
action
属性定义提交表单时要执行的操作。
通常,当用户单击“提交”按钮时,表单数据将发送到服务器上的文件中。
在下面的例子中,表单数据被发送到名为 "action_page.php" 的文件。该文件包含处理表单数据的服务器端脚本:
<!DOCTYPE html>
<html>
<body>
<h1>HTML 表单</h1>
<form action="/demo/html/action_page.php">
<label for="fname">name :</label><br>
<input type="text" id="fname" name="fname" value="xiaoyu"><br>
<label for="lname">gender :</label><br>
<input type="text" id="lname" name="lname" value="nan"><br><br>
<input type="submit" value="提交">
</form>
<p>如果您点击提交按钮,form-data 会被发送到名为 "/action_page.php" 的页面。</p>
</body>
</html>
Target 属性
target
属性规定提交表单后在何处显示响应。
target
属性可设置以下值之一:
值 | 描述 |
---|---|
_blank | 响应显示在新窗口或选项卡中。 |
_self | 响应显示在当前窗口中。 |
_parent | 响应显示在父框架中。 |
_top | 响应显示在窗口的整个 body 中。 |
framename | 响应显示在命名的 iframe 中。 |
默认值为 _self
,这意味着响应将在当前窗口中打开。
此处,提交的结果将在新的浏览器标签中打开:
<!DOCTYPE html>
<html>
<body>
<h1>form target 属性</h1>
<p>在提交这个表单后,将在新浏览器标签页中打开结果:</p>
<form action="/demo/html/action_page.php" target="_blank">
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname" value="Bill"><br>
<label for="lname">Last name:</label><br>
<input type="text" id="lname" name="lname" value="Gates"><br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
Method 属性
method 属性指定提交表单数据时要使用的 HTTP 方法。
表单数据可以作为 URL 变量(使用 method="get"
)或作为 HTTP post 事务(使用 method="post"
)发送。
提交表单数据时,默认的 HTTP 方法是 GET。
<!DOCTYPE html>
<html>
<body>
<h1>method 属性</h1>
<p>该表单会使用 GET 方法提交:</p>
<form action="/demo/html/action_page.php" target="_blank" method="get">
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname" value="Bill"><br>
<label for="lname">Last name:</label><br>
<input type="text" id="lname" name="lname" value="Gates"><br><br>
<input type="submit" value="Submit">
</form>
<p>提交后,请注意,表单值在新的浏览器标签页的地址栏中是可见的。</p>
</body>
</html>
此例在提交表单数据时使用 POST 方法:
<!DOCTYPE html>
<html>
<body>
<h1>method Attribute</h1>
<p>该表单会使用 POST 方法提交:</p>
<form action="/demo/html/action_page.php" target="_blank" method="post">
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname" value="Bill"><br>
<label for="lname">Last name:</label><br>
<input type="text" id="lname" name="lname" value="Gates"><br><br>
<input type="submit" value="Submit">
</form>
<p>提交后,请注意,与 GET 方法不同,表单值在新浏览器的地址栏中不可见。</p>
</body>
</html>
关于 GET 的注意事项:
- 以名称/值对的形式将表单数据追加到 URL
- 永远不要使用 GET 发送敏感数据!(提交的表单数据在 URL 中可见!)
- URL 的长度受到限制(2048 个字符)
- 对于用户希望将结果添加为书签的表单提交很有用
- GET 适用于非安全数据,例如 Google 中的查询字符串
关于 POST 的注意事项:
- 将表单数据附加在 HTTP 请求的正文中(不在 URL 中显示提交的表单数据)
- POST 没有大小限制,可用于发送大量数据。
- 带有 POST 的表单提交无法添加书签
提示:如果表单数据包含敏感信息或个人信息,请务必使用 POST!
所有 <form> 属性的列表
属性 | 描述 |
---|---|
accept-charset | 规定用于表单提交的字符编码。 |
action | 规定提交表单时将表单数据发送到何处。 |
autocomplete | 规定表单是否应打开自动完成(填写)功能。 |
enctype | 规定将表单数据提交到服务器时应如何编码(仅供 method="post")。 |
method | 规定发送表单数据时要使用的 HTTP 方法。 |
name | 规定表单名称。 |
novalidate | 规定提交时不应验证表单。 |
rel | 规定链接资源和当前文档之间的关系。 |
target | 规定提交表单后在何处显示接收到的响应。 |
HTML 常用标签
文本格式化标签
在网页中,有时需要文字设置粗体、斜体或下划线等效果,这时就需要用到HTML中的文本格式化标签,使文字以特殊的方式显示。
语义 | 标签 | 说明 |
加粗 | <strong></strong>或者<b></b> | 推荐使用<strong>标签加粗 语义更强烈 |
倾斜 | <en></en>或者<i></i> | 推荐使用<en>标签加粗 语义更强烈 |
删除线 | <del></del>或者<s></s> | 推荐使用<del>标签加粗 语义更强烈 |
下划线 | <ins></ins>或者<u></u> | 推荐使用<ins>标签加粗 语义更强烈 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>文本格式化标签</title>
</head>
<body>
这是<strong>加粗</strong>的文字
这也是<b>加粗</b>>的文字
这是<en>倾斜</en>>的文字
这也是<i>倾斜</i>>的文字
这是<del>删除线</del>>
这也是<s>删除线</s>>
这是<ins>下划线</ins>>
这是<u>下划线</u>>
</body>
</html>
<div>和<span>标签
<div>和<span>是没有语义的,他们讲就是一个盒子,用来装内容 。
<div>这是头部</div>
<span>今日价格</span>
div是division的缩写,表示分割,分区。审判意为跨度、跨距。
特点:
<div>标签用来布局,但是现在一行只能放一个<div>。大盒子
<span>标签用来布局,一行可以放多个<span>。小盒子
图像标签和路径
图像标签的其他属性:
属性 | 属性值 | 说明 |
src | 图片路径 | 必须属性 |
alt | 文本 | 替换文本.图像不能显示的文字 |
title | 文本 | 提示文本.鼠标放到图像上,显示的文字 |
width | 像素 | 设置图像的宽度 |
height | 像素 | 设置图像的高度 |
border | 像素 | 设置图像的边框粗细 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>图像标签</title>
</head>
<body>
<h4>图像标签的使用</h4>>
<img src="y_AL1A5072.jpg" width="250" height="400"/>
<h4> alt 替换文本 图像显示不出不来的时候用文字替换:</h4>>
<img src="y_AL1A5072.jpg" alt="提示内容" width="250" height="400"/>
<h4> title 提示文本 鼠标放到图像上,提示的文字:</h4>>
<img src="y_AL1A5072.jpg" alt="提示内容" title="这是帅哥和美女"width="250" height="400"/>
<h4> alt border 给图像设定边框:</h4>>
<img src="y_AL1A5072.jpg" alt="提示内容" width="250" height="400" border="15"/>
</body>
</html>
图像标签属性注意:
图像标签可以有多个属性,必须写在标签名的后面。
属性之间不分先后顺序,变迁名与属性、属性与属性之间均可以空格分开。
属性采取键值对的格式、即key="value"的格式,属性="属性值"