客户端图片映射:
<img src="planets.gif" alt="Planets" usemap="#planetmap" />
<map name="planetmap" id="planetmap">
<area href="sun.htm" target="_blank" rel="external nofollow" shape="rect" coords="0,0,110,260">Sun</a>
<area href="mercur.htm" target="_blank" rel="external nofollow" shape="circle" coords="129,161,10">Mercury</a>
<area href="venus.htm" target="_blank" rel="external nofollow" shape="circle" coords="180,139,14">Venus</a>
</map>
上面这段源代码将一幅图像 planets.gif 映射为 3 个区域,当用户单击其中某一个区域时,将被链接到不同的文档中。
<usemap>
<usemap>
usemap 属性将图像定义为客户端图像映射(图像映射image-map指带有可点击区域的图像)。
usemap 属性与
<map>
元素的 name 或 id 属性相关联,以建立
<img>
与
<map>
之间的关系。
<map>
<map>
<map>
标签定义一个客户端图像映射。
注释:
area 元素永远嵌套在 map 元素内部。area 元素可定义图像映射中的区域。
<img>
中的 usemap 属性可引用
<map>
中的 id 或 name 属性(取决于浏览器),所以我们应同时向
<map>
添加 id 和 name 属性。
<area>
<area>
<area>
标签定义图像映射中的区域。
area 元素总是嵌套在
<map>
标签中。
属性 | 值 | 描述 |
---|---|---|
alt(必选) | text | 定义此区域的替换文本。 |
coords | 坐标值 | 定义可点击区域(对鼠标敏感的区域)的坐标。 |
href | URL | 定义此区域的目标 URL。 |
nohref | nohref | 从图像映射排除某个区域。 |
shape | default/rect/circ/poly | 定义区域的形状 |
target | _blank/_parent/_self/_top | 规定在何处打开 href 属性指定的目标 URL。 |
<area>
标签的coords 属性规定区域的 x 和 y 坐标,与 shape 属性配合使用,来规定区域的尺寸、形状和位置。图像左上角的坐标是 “0,0”。
可以将客户端图像映射中的超链接区域定义为矩形、圆形或多边形等。
下面列出了每种形状的适当值:
圆形:shape=“circle”,coords="x,y,r"
这里的 x 和 y 定义了圆心的位置(“0,0” 是图像左上角的坐标),r 是以像素为单位的圆形半径。
多边形:shape=“polygon”,coords="x1,y1,x2,y2,x3,y3,…"
每一对 “x,y” 坐标都定义了多边形的一个顶点(“0,0” 是图像左上角的坐标)。定义三角形至少需要三组坐标;高纬多边形则需要更多数量的顶点。
多边形会自动封闭,因此在列表的结尾不需要重复第一个坐标来闭合整个区域。
矩形:shape=“rectangle”,coords="x1,y1,x2,y2"
第一个坐标是矩形的一个角的顶点坐标,另一对坐标是对角的顶点坐标,“0,0” 是图像左上角的坐标。请注意,定义矩形实际上是定义带有四个顶点的多边形的一种简化方法。
usemap和ismap的差异
usemap 属性提供了一种“客户端”的图像映射机制,有效地消除了服务器端对鼠标坐标的处理,以及由此带来的网络延迟问题。通过特殊的
<map>
和
<area>
标签,HTML 创作者可以提供一个描述 usemap 图像中超链接敏感区域坐标的映射,这个映射同时包含相应的超链接 URL。usemap 属性的值是一个 URL,它指向特殊的
<map>
区域。用户计算机上的浏览器将把鼠标在图像上单击时的坐标转换成特定的行为,包括加载和显示另外一个文档。
地图就是很好地应用 ismap 和 usemap 属性的一个示例,例如,在浏览一家全国范围的大公司网页时,用户可能会在地图上单击他们所居住的城市,以获得附近地区零售店的地址和电话号码等。
usemap 客户端处理图像映射的好处是,它不要求有服务器或特殊的服务器软件,与 ismap 机制不同,它可以用在非 web (无网络)环境中,例如在本地的文件或者 CD-ROM 中使用。