HTML图片热区map area的用法整理

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

1 <area
2     class=type
3     id=Value
4     href=url
5     alt=text
6     shape=area-shape
7     coods=value>

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

  • <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>。浏览器

下面经过一个例子来讲明这两个标记的用法:app

这里是一幅新书架的图片,要作的效果是:当鼠标点"网址大全"这本书时,新开一窗口,显示关于这本书的简介及订单的网页(urlall.htm);当 鼠标点"网站设计攻略"这本书时,新开一窗口,显示关于这本书的简介及订单的网页(siteall.htm);当鼠标点"网页技巧大全"这本书时,新开一 窗口,显示关于这本书的简介及订单的网页(pagejqlall.htm)。制做方法:post

  1. 插入图片,并设置好图像的有关参数,且在<img>标记中设置参数usemap="newbook" ismap,以表示对图像地图(newbook)的引用;
  2. 用<map>标记设定图像地图的做用区域,并取名为:newbook;
  3. 分别用<area>标记针对三本书的位置划分出三个矩形做用区域,并设定好其连接参数href。
1 <img src="image/htmlp3.gif" width="207" height="148" alt="新书架" hspace="10" align="left"usemap="#newbook" border="0">
2 <map name="newbook">
3 <area shape="rect" coords="56,69,78,139" href="urlall.htm" target="_blank" alt="这里收集十万多个网址。" title="这里收集十万多个网址。">
4 <area shape="rect" coords="82,70,103,136" href="siteall.htm" target="_blank" alt="网站设计师的启蒙读本。" title="网站设计师的启蒙读本。">
5 <area shape="rect" coords="106,68,128,136" href="pageall.htm" target="_blank" alt="网页制做者不可不读的书。" title="网页制做者不可不读的书。">
6 </map>

在制做本文介绍的效果时应注意的几点:网站

  1. 在<img>标记不要忘记设置usemap、ismap参数,且usemap的参数值必须与<map>标记中的name参数值相同,也就是说,"图像地图名称"要一致;
  2. 同一"图像地图"中的全部热点区域都要在图像地图的范围内,即全部<area>标记均要在<map>与</map>之间;
  3. 在<area>标记中的 cords 参数设定的坐标格式要与shape参数设定的做用区域形状配套,避免出如今shape参数设置的矩形做用区域,而在cords 中设置的倒是多边形区域顶点坐标的现象出现。

coords 属性

<area> 标签的 coords 属性定义了客户端图像映射中对鼠标敏感的区域的坐标。坐标的数字及其含义取决于 shape 属性中决定的区域形状。能够将客户端图像映射中的超连接区域定义为矩形、圆形或多边形等。url

下面列出了每种形状的适当值:spa

圆形:shape="circle",coords="x,y,r":这里的 x 和 y 定义了圆心的位置("0,0" 是图像左上角的坐标),r 是以像素为单位的圆形半径。.net

多边形:shape="polygon",coords="x1,y1,x2,y2,x3,y3,...":每一对 "x,y" 坐标都定义了多边形的一个顶点("0,0" 是图像左上角的坐标)。定义三角形至少须要三组坐标;高纬多边形则须要更多数量的顶点。多边形会自动封闭,所以在列表的结尾不须要重复第一个坐标来闭合整个区域。设计

矩形:shape="rectangle",coords="x1,y1,x2,y2":第一个坐标是矩形的一个角的顶点坐标,另外一对坐标是对角的顶点坐标,"0,0" 是图像左上角的坐标。请注意,定义举行其实是定义带有四个顶点的多边形的一种简化方法。

例如,下面的 XHTML 片断在一个 100x100 像素图像的右下方四分之一处,定义了一个对鼠标敏感的区域,并在图像的正中间定义了一个圆形区域。

1 <map name="map">
2 <area shape="rect" coords="75,75,99,99" nohref="nohref">
3 <area shape="circ" coords="50,50,25" nohref="nohref">
4 </map>

注释:若是某个 area 标签中的坐标和其余区域发生了重叠,会优先采用最早出现的 area 标签。浏览器会忽略超过图像边界范围以外的坐标。


定义和用法
<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 标签。浏览器会忽略超过图像边界范围以外的坐标。

 


 

【实际应用】

HTML 图像地图

什么是图像地图?

       把一幅图像分红多个区域,每一个区域指向不一样的URL地址。例如,将一幅中国地图的图像按照省市划分为若干个区域,这些区域就被称为热点,单击热点区域,就能够链接到与相应的省市有关的页面,这就是图像地图。

 

怎么制做?

  1. 首先必须定义出图像上的各个热点区域的形状,位置坐标,及其指向的URL地址等信息,这个过程叫图像热点映射。图像热点映射须要使用<map name=mapname></map>标签对进行说明,其中的name属性为该图像热点映射指定了一个名称。
  2. 图像热点映射中的各个区域用<area>标签说明,<area>标签的格式为:<area shape="形状" coords="坐标" href="URL">,href部分也能够用nohref替换,表示在该区域单击鼠标无效。<area>标签还能够有一个target属性,用来指明浏览器在哪一个窗口或者帧中显示href属性所指向的网页资源。
  3. 定义好了图像热点以后,接着就要在<img> 图像标签中增长一个名为usemap的属性设置,usemap属性指定该图像被用做图像地图,其设置值为所使用的图像热点映射名称,格式为:在<map>标签中的name属性设置值前多加一个"#"字符。例如,<img src="china.jpg" usemap="#mymap">

示例代码

CODE:

<img src="china.gif" usemap="#mymap">
map name="mymap">
     <area shape="rect" href="a.html" coords="0,0,50,50">
     <area shape="circle" href="b.html" coords="120,80,50">
     <area shape="poly" href="c.html" coords="0,0,50,50,100,100,200,200">
/map>
Shape属性的设置说明:

Rect:

       定义一个矩形区域,coords属性设置值为左上角、右下角的坐标,各个坐标之间用逗号分开。

Poly:

       定义一个多边型区域,coords属性设置值为多边形各个顶点的坐标值。

Circle:

       定义一个圆形区域,coords属性设置值为圆心坐标及半径,前两个参数分别为圆心的横、纵坐标,第三个参数为半径。

出处:http://www.nowamagic.net/html/html_MapArea.php

出处:http://www.cnblogs.com/mq0036/p/3337327.html

出处:http://www.cnblogs.com/SkySoot/archive/2012/05/13/2498197.html

同时你也能够参考w3school的说明:http://www.w3school.com.cn/tags/tag_map.asp