java web热区链接_HTML图片热区map area的用法

HTML中的标签用于创建图像地图,定义图像的可点击区域。area标签的shape属性用于设定形状(如矩形、圆形、多边形),coords属性规定区域坐标。图像映射中的每个区域可以链接到不同的页面,实现点击热点跳转。
摘要由CSDN通过智能技术生成

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

href=url

alt=text

shape=area-shape

coods=value>

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

表示设定热点的形状为矩形,左上角顶点坐标为(X1,y1),右下角顶点坐标为(X2,y2)。

表示设定热点的形状为圆形,圆心坐标为(X1,y1),半径为r。

表示设定热点的形状为多边形,各顶点坐标依次为(X1,y1)、(X2,y2)、(x3,y3) ......。

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

HTML 标签格式:

(这个标签的作用就是在一张图片中的某一特定位置定义一个(或多个)热点可进行超链接)

手动添加一个热点:选中一个图片/属性/选择一种形状如:矩形、圆形、多边形等。

定义和用法

标签定义图像映射中的区域(注:图像映射指得是带有可点击区域的图像)。

area 元素总是嵌套在 标签中。

注释: 标签中的 usemap 属性与 map 元素 name 属性相关联,创建图像与映射之间的联系。

【实例】:

带有可点击区域的图像映射:

Planets

HTML 与 XHTML 之间的差异

在 HTML 中, 没有结束标签。

在 XHTML 中, 必须正确地关闭。

提示和注释:

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

73086_126961440987cZ.jpg

标准属性

id, class, title, style, dir, lang, xml:lang, tabindex, accesskey

如需完整的描述,请访问标准属性。

事件属性

onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove,

onmouseout, onkeypress, onkeydown, onkeyup, onfocus, onblur

如需完整的描述,请访问事件属性

创建图像映射 本例显示如何创建带有可供点击区域的图像映射。其中的每个区域都是一个超级链接。

HTML 标签的 coords 属性

定义和用法

coords 属性规定区域的 x 和 y 坐标,(该坐标是相对图片的坐标,即图像左上角的坐标是 "0,0")。

coords 属性与 shape 属性配合使用,来规定区域的尺寸、形状和位置。

详细解释:

标签的 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 像素图像的右下方四分之一处,定义了一个对鼠标敏感的区域,并在图像的正中间定义了一个圆形区域。

【实例】:

Planets

提示和注释

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

【实际应用】

HTML 图像地图

什么是图像地图?

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

怎么制作?

首先必须定义出图像上的各个热点区域的形状,位置坐标,及其指向的URL地址等信息,这个过程叫图像热点映射。图像热点映射需要使用标签对进行说明,其中的name属性为该图像热点映射指定了一个名称。

图像热点映射中的各个区域用标签说明,标签的格式为:,href部分也可以用nohref替换,表示在该区域单击鼠标无效。标签还可以有一个target属性,用来指明浏览器在哪个窗口或者帧中显示href属性所指向的网页资源。

定义好了图像热点之后,接着就要在 图像标签中增加一个名为usemap的属性设置,usemap属性指定该图像被用作图像地图,其设置值为所使用的图像热点映射名称,格式为:在标签中的name属性设置值前多加一个"#"字符。例如,china.jpg

示例代码

CODE:

china.gif

map name="mymap">

/map>

Shape属性的设置说明:

Rect:

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

Poly:

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

Circle:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现HTML热区map坐标随图片大小自适应,可以通过以下步骤: 1. 在HTML中,为图片设置一个容器div,并将图片作为div的背景图。设置该div的宽度和高度,以及background-size为contain或cover,使图片大小自适应容器。 2. 使用JavaScript获取图片的实际宽度和高度,计算出图片缩放比例。 3. 遍历所有热区的坐标,将坐标乘以缩放比例,以适应图片缩放后的大小。 以下是示例代码: HTML部分: ```html <div id="image-container"> <img src="image.jpg" alt="" id="image" /> <map name="hotspots"> <area shape="rect" coords="10,10,50,50" href="#" /> <area shape="rect" coords="60,60,100,100" href="#" /> </map> </div> ``` JavaScript部分: ```javascript const container = document.getElementById('image-container'); const image = document.getElementById('image'); const map = document.getElementsByName('hotspots')[0]; // 获取图片实际尺寸 const imgWidth = image.naturalWidth; const imgHeight = image.naturalHeight; // 计算缩放比例 const scaleX = container.offsetWidth / imgWidth; const scaleY = container.offsetHeight / imgHeight; const scale = Math.min(scaleX, scaleY); // 遍历所有热区坐标,乘以缩放比例 const coords = map.getElementsByTagName('area'); for (let i = 0; i < coords.length; i++) { const coord = coords[i].getAttribute('coords').split(','); for (let j = 0; j < coord.length; j++) { coord[j] = Math.round(coord[j] * scale); } coords[i].setAttribute('coords', coord.join(',')); } ``` 以上代码会根据图片实际大小和容器大小计算出缩放比例,然后遍历所有热区坐标,将坐标乘以缩放比例调整大小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值