<object> 标签中的 usemap 属性用于将嵌入的对象(如图像)与一个 图像映射(image map) 关联起来。图像映射允许你在图像的特定区域定义可点击的链接,用户点击这些区域时会触发相应的操作。


什么是图像映射?

图像映射是一种将图像的特定区域与超链接关联的技术。它通过 <map> 标签定义,并使用 <area> 标签指定可点击区域的形状、坐标和链接目标。


usemap 属性的作用

usemap 属性将 <object> 嵌入的内容(通常是图像)与一个 <map> 元素关联起来。它的值是一个以 # 开头的 <map> 元素的 nameid


使用方法

  1. 定义图像映射(<map><area>

    使用 <map> 标签定义图像映射,并在其中使用 <area> 标签指定可点击区域的形状、坐标和链接目标。

  2. 关联图像映射(usemap

    <object> 标签中使用 usemap 属性,将其与 <map> 标签关联。


示例

以下是一个完整的示例,展示如何使用 <object>usemap 实现图像映射:

<object data="example.png" type="image/png" usemap="#imagemap" width="500" height="300">
您的浏览器不支持显示此图像。
</object> <map name="imagemap">
<!-- 定义一个矩形区域 -->
<area shape="rect" coords="0,0,100,100" href="https://example.com/page1" alt="Page 1"> <!-- 定义一个圆形区域 -->
<area shape="circle" coords="200,150,50" href="https://example.com/page2" alt="Page 2"> <!-- 定义一个多边形区域 -->
<area shape="poly" coords="300,200,350,250,400,200" href="https://example.com/page3" alt="Page 3">
</map>

代码解析

  1. <object> 标签

    • data="example.png":嵌入的图像文件。
    • type="image/png":指定图像的MIME类型。
    • usemap="#imagemap":将图像与名为 imagemap<map> 元素关联。
  2. <map> 标签

    • name="imagemap":定义图像映射的名称,与 usemap 属性关联。
  3. <area> 标签

    • shape:定义区域的形状,可以是 rect(矩形)、circle(圆形)或 poly(多边形)。
    • coords:定义区域的坐标。
      • 对于 rectcoords="x1,y1,x2,y2",表示矩形的左上角和右下角坐标。
      • 对于 circlecoords="x,y,radius",表示圆心坐标和半径。
      • 对于 polycoords="x1,y1,x2,y2,x3,y3,...",表示多边形的各个顶点坐标。
    • href:定义点击区域后跳转的链接。
    • alt:为区域提供替代文本,用于无障碍访问。

适用场景

  • 图像热点:在图像中定义多个可点击区域,例如地图、产品图等。
  • 交互式图像:为用户提供更丰富的交互体验,例如点击图像的不同部分跳转到不同页面。

注意事项

  1. 坐标计算

    区域的坐标是基于图像的像素值,需要精确计算。可以使用图像编辑工具(如Photoshop)获取坐标。

  2. 无障碍访问

    为每个 <area> 添加 alt 属性,确保屏幕阅读器能够正确读取。

  3. 兼容性

    <object><map> 在现代浏览器中兼容性良好,但在某些旧版浏览器中可能存在问题。


总结

<object> 标签中的 usemap 属性用于将嵌入的内容(如图像)与图像映射关联,从而实现图像中特定区域的可点击功能。通过 <map><area> 标签,可以灵活定义多个可点击区域,为用户提供丰富的交互体验。

object中的usemap是什么-HTML的更多相关文章

  1. APEX:对object中数据进行简单处理?

    在Salesforce中,常常要对各种数据进行处理,已满足业务逻辑.本篇文章会介绍如何实现从object获取数据,然后将取得的数据进行一系列简单处理. 第一步:SongName__c 是一个新建的ob ...

  2. 使用第三方工具覆写Object中方法

    我们在实际开发中,经常需要覆写Object中的equals,hashcode,toString方法,其实编写这些代码并不是很难,但很枯燥和乏味. 下面推荐Google的Guava jar包来覆写上面的 ...

  3. java锁与监视器概念 为什么wait、notify、notifyAll定义在Object中 多线程中篇(九)

    在Java中,与线程通信相关的几个方法,是定义在Object中的,大家都知道Object是Java中所有类的超类 在Java中,所有的类都是Object,借助于一个统一的形式Object,显然在有些处 ...

  4. Object 中 equals()使用

    详细看: https://www.cnblogs.com/naihuangbao/p/9445027.html 1. ==是判断两个变量或实例是不是指向同一个内存空间equals是判断两个变量或实例所 ...

  5. 为什么notify(), wait()等函数定义在Object中,而不是Thread中

    Object中的wait(), notify()等函数,和synchronized一样,会对“对象的同步锁”进行操作. wait()会使“当前线程”等待,因为线程进入等待状态,所以线程应该释放它锁持有 ...

  6. JS如何遍历Object中的所有属性?

    JS如何遍历Object中的所有属性? var params = ""; for(var i in baseParams){ params += "&" ...

  7. Object中的方法以及对象相等的判定

    看图说话 Object有以下几个方法 getClass() final类型,主要是用来获得运行时的类型 hashCode() 返回该对象的哈希码值,方法是为了提高哈希表(例如 java.util.Ha ...

  8. Object中的clone方法

      Java中对象的创建 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象 ...

  9. eclipse环境Dynamic web module version 3.1版本的进步,简化Dynamic web object 中Servlet类的配置,不用web.xml配置<Servlet>

    eclipse环境Dynamic web module version 3.1版本之前,Dynamic web object 中Servlet类的配置,要在web.xml 配置<Servlet& ...

  10. Object中的wait,notify,notifyAll基本使用(转)

    让线程停止运行/睡眠的方法只有两个:Thread.sleep()或者obj.wait() 记住obj.nofity()并不能停止线程运行,因为notify虽然释放了锁,但依然会急促执行完synchro ...

随机推荐

  1. 推荐4款基于.NET开源、功能强大的CMS建站系统

    前言 CMS系统作为一种强大的内容管理工具,在数字化时代发挥着越来越重要的作用.无论是个人博客还是大型企业官网,选择一个合适的CMS都能极大地提高效率和用户体验.今天大姚给大家推荐4款基于.NET开源 ...

  2. linux:搭建 WordPress 个人站点

    参考:链接 介绍 WordPress 是一款使用 PHP 语言开发的博客平台,您可使用通过 WordPress 搭建属于个人的博客平台.本文以 CentOS 6.5 操作系统为例,手动搭建 WordP ...

  3. ORM(Object Relational Mapping:对象关系映射)

    了解orm,先了解以下概念: 什么是"持久化" 持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘).持久化的主要应用是将内存中的数据存 ...

  4. 去除小程序scroll-view产生的横向滚动条

    <template> <view class="page-demo"> <scroll-view class="scrool-more&qu ...

  5. 一个月狂赚百万?DeepSeek爆火背后的"卖铲人"狂欢

    大家好,我是郭顺发,一个白天敲代码晚上写博客的独立开发者.最近有个叫DeepSeek R1的AI模型火得离谱--不是因为它技术多逆天,而是因为一堆人靠它一个月赚了几百万,而他们卖的东西...你绝对想不 ...

  6. Google 常用语法说明

    Google 常用语法说明 背景 Google Hacking,作为一种利用谷歌搜索引擎的强大能力来挖掘互联网中敏感或未公开信息的技巧,已成为安全研究.漏洞挖掘及信息搜集领域的重要工具. 通过精心构造 ...

  7. Luogu P9869 NOIp2023 三值逻辑 题解 [ 绿 ] [ 带权并查集 ]

    三值逻辑:有点坑并且细节较繁琐,但有点板子的并查集. 修改操作 发现对于每个点,只有对他的最后一次操作才是有用的,所以记录下最终的祖先即可. 然而这里并不能用并查集来实现,因为并查集它具有的是传递性, ...

  8. Codeforces 11D A Simple Task 题解 [ 蓝 ] [ 状压 dp ]

    思路不难想,细节比较多. 思路 观察到 \(n \le 19\) ,首先想到状压 dp . 于是自然地定义 \(dp[j][i]\) 为:抵达点的状态为 \(i\) ,且此时在点 \(j\) 时,简单 ...

  9. Blazor开发框架KnownPro-创建新项目

    摘要 本文主要介绍如何使用Known专业版创建新项目. 操作步骤 登录Known专业版VIP会员管理系统. 进入首页,点击[创建项目]按钮. 弹出创建项目对话框,填写项目ID.名称和数据库类型(默认S ...

  10. Dotfuscator混淆时的配置信息

    这个是64位的Framework