HTML图片映射(map area)

<area>标记主要用于图像地图,通过该标记可以在图像地图中设定作用区域(又称为热点),这样当用户的鼠标移到指定的作用区域点击时,会自动链接到预先设定好的页面。其基本语法结构如下:

复制代码
     <area 
     class=type 
     id=Value  
     href=url  
     alt=text  
     shape=area-shape  
     coods=value> 
复制代码

shape和coords:是两个主要的参数,用于设定热点的形状和大小。其基本用法如下:

  • <area shape="rect" coords="x1, y1,x2,y2" href=url>表示设定热点的形状为矩形,左上角顶点坐标为(X1,y1),右下角顶点坐标为(X2,y2)。
  • <area shape="circle" coords="x1, y1,r" href=url>表示设定热点的形状为圆形,圆心坐标为(X1,y1),半径为r。
  • <area shape="poligon" coords="x1, y1,x2,y2 ......" href=url>表示设定热点的形状为多边形,各顶点坐标依次为(X1,y1)、(X2,y2)、(x3,y3) ......。

<area>标记是在图像地图中划分作用区域的,因此其划分的作用区域必须在图像地图的区域内,所以在用 <area> 标记划分区域前必须用HTML的另一个标记<map>来设定图像地图的作用区域,并为指定的图像地图设定名称,该标记的用法很简单,即<map name="图像地图名称"> ...... </map>。

 

HTML <area> 标签格式:
<map><area /></map>


(这个标签的作用就是在一张图片中的某一特定位置定义一个(或多个)热点可进行超链接)
手动添加一个热点:选中一个图片/属性/选择一种形状如:矩形、圆形、多边形等。
定义和用法
<area> 标签定义图像映射中的区域(注:图像映射指得是带有可点击区域的图像)。
area 元素总是嵌套在 <map> 标签中。
注释:<img> 标签中的 usemap 属性与 map 元素 name 属性相关联,创建图像与映射之间的联系。

【实例】:

带有可点击区域的图像映射:
<img src="planets.jpg" border="0" usemap="#planetmap" alt="Planets" />
<map name="planetmap" id="planetmap">
  <area shape="circle" coords="180,139,14" href ="venus.html" alt="Venus" />
  <area shape="circle" coords="129,161,10" href ="mercur.html" alt="Mercury" />
  <area shape="rect" coords="0,0,110,260" href ="sun.html" alt="Sun" />
</map>
HTML 与 XHTML 之间的差异
在 HTML 中,<area> 没有结束标签。
在 XHTML 中,<area> 必须正确地关闭。

提示和注释
注释:<img> 中的 usemap 属性可引用 <map> 中的 id 或 name 属性(由浏览器决定),所以我们需要同时向 <map> 添加 id 和 name 两个属性

 
标准属性
id, class, title, style, dir, lang, xml:lang, tabindex, accesskey
如需完整的描述,请访问标准属性。

事件属性
onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, 
onmouseout, onkeypress, onkeydown, onkeyup, onfocus, onblur 
如需完整的描述,请访问事件属性
创建图像映射 本例显示如何创建带有可供点击区域的图像映射。其中的每个区域都是一个超级链接。
HTML <area> 标签的 coords 属性

定义和用法
coords 属性规定区域的 x 和 y 坐标,(该坐标是相对图片的坐标,即图像左上角的坐标是 "0,0")。
coords 属性与 shape 属性配合使用,来规定区域的尺寸、形状和位置。

详细解释
<area> 标签的 coords 属性定义了客户端图像映射中对鼠标敏感的区域的坐标。坐标的数字及其含义取决于 shape 属性中决定的区域形状。可以将客户端图像映射中的超链接区域定义为矩形、圆形或多边形等。
下面列出了每种形状的适当值:
圆形:shape="circle",coords="x,y,z"
这里的 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" 是图像左上角的坐标。请注意,定义矩形实际上是定义带有四个顶点的多边形的一种简化方法。例如,下面的 XHTML 片段在一个 100x100 像素图像的右下方四分之一处,定义了一个对鼠标敏感的区域,并在图像的正中间定义了一个圆形区域。<map name="map">  <area shape="rect" coords="75,75,99,99" nohref="nohref">  <area shape="circ" coords="50,50,25" nohref="nohref"></map>【实例】:<img src ="planets.gif" alt="Planets" usemap ="#planetmap" /><map name="planetmap">  <area shape="rect" coords="0,0,110,260" href="sun.htm" alt="Sun" />  <area shape="circle" coords="129,161,10" href="mercur.htm" alt="Mercury" />  <area shape="circle" coords="180,139,14" href="venus.htm" alt="Venus" /></map>提示和注释注释:如果某个 area 标签中的坐标和其他区域发生了重叠,会优先采用最先出现的 area 标签。浏览器会忽略超过图像边界范围之外的坐标。