HTML 图像映射
使用 HTML 图像映射,您可以在图像上创建可点击的区域。
图像映射
HTML <map> 标签定义一个图像映射。图像映射是一个带有可点击区域的图像。区域使用一个或多个 <area> 标签定义。
请尝试点击下方图片中的电脑、电话或咖啡杯
示例
这是上方图像映射的 HTML 源代码
<img src="workplace.jpg" alt="Workplace" usemap="#workmap">
<map name="workmap">
<area shape="rect" coords="34,44,270,350" alt="Computer" href="computer.htm">
<area shape="rect" coords="290,172,333,250" alt="Phone" href="phone.htm">
<area shape="circle" coords="337,300,44" alt="Coffee" href="coffee.htm">
</map>
自己动手试一试 »
它是如何工作的?
图像映射的理念是,您可以根据在图像的哪个位置点击来执行不同的操作。
要创建图像映射,您需要一张图像,以及一些描述可点击区域的 HTML 代码。
图像
图像使用 <img> 标签插入。与其他图像的唯一区别是,您必须添加一个 usemap 属性
<img src="workplace.jpg" alt="Workplace" usemap="#workmap">
usemap 值以井号 # 开头,后跟图像映射的名称,用于在图像和图像映射之间创建关联。
提示: 您可以使用任何图像作为图像映射!
创建图像映射
然后,添加一个 <map> 元素。
<map> 元素用于创建图像映射,并通过使用必需的 name 属性与图像关联
<map name="workmap">
name 属性的值必须与 <img> 的 usemap 属性值相同。
区域
然后,添加可点击的区域。
可点击区域使用 <area> 元素定义。
形状
您必须定义可点击区域的形状,可以选择以下值之一
rect- 定义一个矩形区域circle- 定义一个圆形区域poly- 定义一个多边形区域default- 定义整个区域
您还必须定义一些坐标才能将可点击区域放置在图像上。
Shape="rect"
shape="rect" 的坐标成对出现,一对用于 x 轴,一对用于 y 轴。
所以,坐标 34,44 位于距离左边距 34 像素和距离顶部 44 像素的位置
坐标 270,350 位于距离左边距 270 像素和距离顶部 350 像素的位置
现在我们有足够的数据来创建一个可点击的矩形区域
这是变得可点击并将用户发送到页面 "computer.htm" 的区域
Shape="circle"
要添加圆形区域,请先找到圆心的坐标
337,300
然后指定圆的半径
44 像素
现在您有足够的数据来创建一个可点击的圆形区域
这是变得可点击并将用户发送到页面 "coffee.htm" 的区域
Shape="poly"
shape="poly" 包含多个坐标点,这些点构成由直线(多边形)形成的形状。
这可以用来创建任何形状。
比如一个可颂形状!
我们如何让下图的可颂饼成为可点击的链接?
我们必须找到可颂饼所有边缘的 x 和 y 坐标
坐标成对出现,一对用于 x 轴,一对用于 y 轴
示例
<area shape="poly" coords="140,121,181,116,204,160,204,222,191,270,140,329,85,355,58,352,37,322,40,259,103,161,128,147" href="croissant.htm">
自己动手试一试 »
这是变得可点击并将用户发送到页面 "croissant.htm" 的区域
图像映射和 JavaScript
可点击区域也可以触发 JavaScript 函数。
在 <area> 元素中添加 click 事件来执行 JavaScript 函数
示例
在这里,我们使用 onclick 属性在区域被点击时执行 JavaScript 函数
<map name="workmap">
<area shape="circle" coords="337,300,44" href="coffee.htm" onclick="myFunction()">
</map>
<script>
function myFunction() {
alert("您点击了咖啡杯!");
}
</script>
自己动手试一试 »
Chapter Summary
- 使用 HTML
<map>元素定义图像映射 - 使用 HTML
<area>元素定义图像映射中的可点击区域 - 使用
<img>元素的 HTMLusemap属性指向一个图像映射
HTML 图像标签
| 标签 | 描述 |
|---|---|
| <img> | 定义一个图像 |
| <map> | 定义图像映射 |
| <area> | 在图像映射中定义可点击区域 |
| <picture> | 定义多个图像资源的容器 |
有关所有可用 HTML 标签的完整列表,请访问我们的 HTML 标签参考。