html如何创建图片热区(img usemap)?
要在 HTML 中创建图片热区,你需要结合使用 <img>, <map>, 和 <area> 标签。 usemap 属性将图像链接到图像映射。 图像映射由 <map> 标签定义,其中包含多个 <area> 标签,每个标签都定义图像上的一个可点击区域。
以下是创建图像热区的步骤和示例:
-
<img>标签: 使用usemap属性将图像链接到图像映射。usemap属性的值应以#开头,后跟图像映射的名称。<img src="image.jpg" alt="Image with hotspots" usemap="#image-map"> -
<map>标签: 使用name属性定义图像映射。name属性的值应与<img>标签的usemap属性值(#之后的部分)相同。<map name="image-map"> <!-- 在这里定义热区 --> </map> -
<area>标签: 在<map>标签内使用<area>标签定义热区。每个<area>标签都需要以下属性:-
shape: 定义热区的形状。常用的值包括:rect:矩形。需要coords属性指定左上角和右下角的 x 和 y 坐标。circle:圆形。需要coords属性指定圆心 x 和 y 坐标以及半径。poly:多边形。需要coords属性指定每个顶点的 x 和 y 坐标。default:默认区域,覆盖整个图像。如果其他区域未捕获点击,则此区域将被激活。
-
coords: 定义热区的坐标。坐标值取决于shape属性的值。坐标以像素为单位,相对于图像的左上角。 -
href: 指定点击热区时要打开的 URL。 如果不想链接到任何地方,可以将其设置为#或省略此属性。 -
alt: 提供替代文本,用于无法显示图像的情况。 -
target: 定义链接的目标窗口或标签页。例如_blank会在新标签页打开链接。
-
示例:
<!DOCTYPE html>
<html>
<head>
<title>Image Map Example</title>
</head>
<body>
<img src="image.jpg" alt="Image with hotspots" usemap="#image-map">
<map name="image-map">
<area shape="rect" coords="0,0,100,100" href="page1.html" alt="Link to Page 1">
<area shape="circle" coords="200,150,50" href="page2.html" alt="Link to Page 2">
<area shape="poly" coords="300,0,400,0,400,200,300,200" href="page3.html" alt="Link to Page 3">
<area shape="default" href="default.html" alt="Default Link">
</map>
</body>
</html>
在这个例子中:
- 第一个热区是一个矩形,从左上角 (0,0) 到右下角 (100,100)。
- 第二个热区是一个圆形,中心在 (200,150),半径为 50。
- 第三个热区是一个多边形,由四个点 (300,0), (400,0), (400,200), (300,200) 定义。
default区域会捕获图像上任何其他未定义区域的点击。
寻找坐标的工具:
手动确定坐标可能会很麻烦。一些图像编辑器或在线工具可以帮助你找到图像上特定点的坐标,从而更轻松地创建热区。
记住,<map> 元素通常放在 <body> 的底部,或者在使用它的 <img> 元素之后。 这有助于确保在浏览器尝试解析 <map> 元素之前加载图像。
浙公网安备 33010602011771号