使用 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"
成对出现,一个用于 x 轴,一个用于 y 轴。
所以,坐标34,44
距离左边距 34 像素,距离顶部 44 像素:
该坐标270,350
距离左边距 270 像素,距离顶部 350 像素:
现在我们有足够的数据来创建一个可点击的矩形区域:
这是可点击的区域,并将用户带到页面 "computer.htm":
要添加圆形区域,首先找到圆心的坐标:
337,300
然后指定圆的半径:
44
像素
现在您有足够的数据来创建可点击的圆形区域:
这是可点击的区域,并将用户带到页面 "coffee.htm":
这个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 函数。
添加一个click
事件到<area>
执行 JavaScript 函数的元素:
在这里,我们使用 onclick 属性在单击该区域时执行 JavaScript 函数:
<map name="workmap">
<area shape="circle" coords="337,300,44" href="coffee.htm" onclick="myFunction()">
</map>
<script>
function myFunction() {
alert("You clicked the coffee cup!");
}
</script>
亲自试一试 »
<map>
定义图片映射的元素<area>
定义图片映射中可点击区域的元素usemap
的属性<img>
指向图片映射的元素Tag | Description |
---|---|
<img> | Defines an image |
<map> | Defines an image map |
<area> | Defines a clickable area inside an image map |
<picture> | Defines a container for multiple image resources |
有关所有可用 HTML 标签的完整列表,请访问我们的HTML 标签参考。
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!