最近在工作中遇到html标签<map>的使用,记录下(图像地图 / 图像热点 )<map>的使用过程:
标准定义:
定义一个客户端图像映射。图像映射(image-map)指带有可点击区域的一幅图像。
通俗理解:
<map>是在图片上面创建热点的标签,所谓图片热点就是给你一张图片然后你可以设置点击图片不同的位置进入不同的链接!
兼容:所有主流浏览器都支持 <map> 标签与<area>标签
场景:
①比如一张图片的静态页!如果你不会切图做静态页,那么就可以用一张效果图来实现!
②<area>标记主要用于图像地图,通过该标记可以在图像地图中设定作用区域(又称为热点),这样当用户的鼠标移到指定的作用区域点击时,会自动链接到预先设定好的页面
③在一些购物网站,我们总能看到一张大图,上面铺满充满诱惑的礼品,当我们轻轻地用鼠标单击一下,就跳转到这个宝贝的页面。以后再也不用去找美工切图,并且也不用为兼容这种浏览器而发愁了。
一、area标签实现图片局部点击事件
原理:在图片上设置链接的area标签,产生图片的局部点击事件效果~
参考例子:
<map name="planetmap" id="planetmap"> <area shape="circle" coords="180,139,14" href ="http://www.w3school.com.cn/example/html/venus.html" target ="_blank" alt="Venus" /> <area shape="circle" coords="129,161,10" href ="http://www.w3school.com.cn/example/html/mercur.html" target ="_blank" alt="Mercury" /> <area shape="circle" coords="-200,200,310" href ="http://www.w3school.com.cn/example/html/sun.html" target ="_blank" alt="Sun" /> </map> <p> <b>注释:</b>img 元素中的 "usemap" 属性引用 map 元素中的 "id" 或 "name" 属性(根据浏览器), 所以我们同时向 map 元素添加了 "id" 和 "name" 属性。 </p>
参数说明:
(1)shape:可点击区域形状
①rect:矩形
②circle:圆形
③poligon:多边形
(2)coords:可点击区域坐标
①当shape是矩形时,此值是4个坐标值,前两个为坐上坐标(x,y),后两个为右下坐标
②当shape是圆形时,此值是3个坐标值,前两个为圆形的坐标,最后一个为半径
③当shape是多边形时,coords="x1, y1,x2,y2 ......",各顶点坐标依次为(X1,y1)、(X2,y2)、(x3,y3) ......。
(3)usemap:使用哪个map的区域点击事件
【注释】:area 元素永远嵌套在 map 元素内部。area 元素可定义图像映射中的区域。
【注释】:<img>中的 usemap 属性可引用 <map> 中的 id 或 name 属性(取决于浏览器),所以我们应同时向 <map> 添加 id 和 name 属性
【注释】:如果某个 area 标签中的坐标和其他区域发生了重叠,会优先采用最先出现的 area 标签。浏览器会忽略超过图像边界范围之外的坐标。
【实际应用】HTML 图像地图
(1)什么是图像地图?
把一幅图像分成多个区域,每个区域指向不同的URL地址。例如,将一幅中国地图的图像按照省市划分为若干个区域,这些区域就被称为热点,单击热点区域,就可以连接到与相应的省市有关的页面,这就是图像地图。
(2)怎么制作?
首先必须定义出图像上的各个热点区域的形状,位置坐标,及其指向的URL地址等信息,这个过程叫图像热点映射。图像热点映射需要使用<map name=mapname></map>标签对进行说明,其中的name属性为该图像热点映射指定了一个名称。
图像热点映射中的各个区域用<area>标签说明,<area>标签的格式为:<area shape="形状" coords="坐标" href="URL">,href部分也可以用nohref替换,表示在该区域单击鼠标无效。<area>标签还可以有一个target属性,用来指明浏览器在哪个窗口或者帧中显示href属性所指向的网页资源。
定义好了图像热点之后,接着就要在<img> 图像标签中增加一个名为usemap的属性设置,usemap属性指定该图像被用作图像地图,其设置值为所使用的图像热点映射名称,格式为:在<map>标签中的name属性设置值前多加一个"#"字符。例如,<img src="china.jpg" usemap="#mymap">
具体来说:
<img src="planets.jpg" border="0" usemap="#imgMap" alt="Planets" />②接下来,定义Map地图,并将Map分块,用以区分不同的内容区域。
属性
|
值
|
描述
|
coords
|
坐标值
|
定义可点击区域(对鼠标敏感的区域)的坐标。
|
href
|
URL
|
定义此区域的目标 URL。
|
shape
|
default
rect
circ
poly
|
定义区域的形状。
|
target
|
_blank
_parent
_self
_top
|
规定在何处打开 href 属性指定的目标 URL。
|
<div style="background:url(/images/abc/1.jpg) top center no-repeat;">虽然达到了适应浏览器宽度的效果,但area标签不支持图片是背景图,所以点击事件失效!
<script type="text/javascript"> window.onload=function(){ if (window.innerWidth){ winWidth = window.innerWidth; }else if ((document.body) && (document.body.clientWidth)){ winWidth = document.body.clientWidth; } if (document.documentElement && document.documentElement.clientWidth){ winWidth = document.documentElement.clientWidth; } $("#img1").css("width",winWidth); } </script>这种情况虽然也能达到效果,但area的坐标值位置都发生改变,点击区域不对了!
3、将图片外层div左侧距离固定,求浏览器宽度winWidth同2
var left = (winWidth-1920)/2;//假设图片宽度是1920 $("#div1").css("left",left); $("#div1").css("position",absolute);
将左侧多出部分切掉,同时,去掉右侧多出部分(隐藏横向滚动条)
html{ overflow-x:hidden; overflow-y:auto; }
此方法缺点,如果浏览器不是全屏显示,右侧部分的图片会被切掉,而且没有滚动条,这就是不会切图的程序员写静态页的偷懒方法。所以想省事还是要最好精通PS
.
相关推荐
本篇文章将深入讲解如何使用`<map>`和`<area>`来创建兼容所有浏览器的图像热点。 首先,`<map>`元素定义了一个图像映射,它不直接显示在页面上,但与`<img>`标签配合使用,为图像提供可交互的区域。例如: ```html...
html中map热点area的使用,获取图片上的热点
"map area图片热点效果增强版" 提供了一种优化的解决方案,旨在提升用户体验,去除不必要的边框,以及在鼠标悬停时提供更加美观的视觉反馈。 首先,我们要了解HTML `<map>` 和 `<area>` 标签的作用。`<map>` 标签...
- 图片热区(Image Map)是一种将图像映射到超链接的方法,它允许用户点击图像的特定区域来触发不同的动作。在HTML中,我们使用`<img>`标签的`usemap`属性引用一个`<map>`元素,`<map>`元素定义了图像的热区。 - `...
最后,`map.png`是一个静态地图图片,开发者可能需要将其分割成多个可独立操作的部分,以便于用JavaScript控制各个热点区域。这通常通过CSS精灵(CSS Sprites)技术完成,将多个小图拼接成一张大图,然后通过修改`...
- 使用jQuery选择器选中图片,然后调用`imageMapster()`方法初始化插件。 3. **配置选项** - `fillColor`: 设置区域填充颜色。 - `strokeColor`: 设置区域边框颜色。 - `strokeWidth`: 设置区域边框宽度。 - `...
首先,我们需要理解QScrollArea的基本用法。QScrollArea是一个容器类,它可以包含其他QWidget子类的对象,如QLabel、QGraphicsView等。在这个例子中,我们将使用QLabel来显示图片,因为QLabel支持显示各种图像格式。...
【jQuery开发的地图热点特效——Map标签详解】 在Web开发中,地图热点特效是一种常见的交互功能,它可以增强用户体验,使用户能够点击地图上的特定区域获取更多信息或执行特定操作。本篇文章将深入探讨如何利用...
本文将详细介绍如何使用jQuery实现图片热点区域选择,并通过实例——中国地图热点区域选择,来阐述具体步骤。 **一、jQuery基础知识** 首先,我们需要理解jQuery的基本用法。jQuery简化了DOM操作、事件处理和动画...
在网页设计和开发中,图片热点定位和标注是一种常见的交互技术,用于在大图像上标记特定区域并提供额外的信息或功能。"jquery图片热点定位标注特效"是一个利用jQuery和CSS3实现的高效解决方案,旨在帮助用户在大图上...
首先,“areamap”在数学和工程中通常指区域映射,它是一种将二维平面划分为多个区域,并对每个区域赋予特定数值的方法。在电机效率云图中,areamap可能指的是电机运行的不同工况区间及其对应的效率值。 “三维云图...
本文将详细介绍如何使用`<img>`、`<map>`以及`<area>`标签创建图像的热点区域,并探讨其实际应用。 #### 二、基础知识 ##### 2.1 `<img>`标签 `<img>`标签用于在HTML文档中嵌入图像。当结合`usemap`属性使用时,它...
本文将详细介绍如何使用Dreamweaver(简称DW)这一强大的网页编辑工具来实现图片热点功能。 #### 一、准备工作 首先,你需要准备一张需要添加热点的图片。这张图片最好是专门为添加热点而设计的,以便于清晰地划分...
在IT行业中,图片热点技术是一种将交互性引入静态图片的方法,允许用户与图片上的特定区域进行互动。这种技术常用于地图应用、产品展示、广告设计等领域,为用户提供更丰富的信息和体验。本“图片热点技术Demo”正是...
- `<map>`元素定义了一个图像映射,映射中包含一个或多个由`<area>`元素定义的区域。 - `name`属性是必需的,用于标识图像映射,以便在`<img>`标签中引用它。 - 示例:`<map name="myMap">...</map>` 2. **...
"map-highlight"和"map-area"这两个标签暗示了我们将讨论的是地图组件中的特定功能,即地图区域的着色和高亮显示。 首先,我们需要理解`map-area`的概念。在HTML中,`<map>`元素与`<area>`元素结合使用,可以创建...
在这个“JS实现图片上的热点功能.rar”压缩包中,包含的代码示例正是关于如何使用JavaScript来实现这种功能。这个功能在地图应用、产品展示或任何需要在图片上添加交互元素的场景中非常有用。 首先,我们需要理解...
在"AreaMap-main"这个压缩包文件中,很可能是包含了这个API的主文件或者其他相关资源,如示例代码、样式表、图片或文档等。开发者可以通过解压并参考这些内容,学习如何在实际项目中应用和定制AreaMap API,以满足...
本话题主要涉及的是使用C#实现图片热点功能的源码,这是一个常见的交互式图像处理技术,常用于网页设计、地图标记、图像标注等领域。下面将详细阐述这个C#图片热点源码的主要知识点。 首先,我们要理解什么是“图片...
iPhoneX安全区域引发的问题(Safe Area) 瞧一瞧 LeetCode题解:Gitbook版本传送门 前端笔记:Gitbook传送门 目录 什么是安全区域? 预留出Home Indicator指示条 简单总结 一、什么是安全区域? 最近正在开发小程序...