【笔记】html图片映射usemap(vue环境下、map、area、coords)

简介: html图片映射usemap(vue环境下、map、area、coords)

一、场景

引入了vue的单一html页面中,一张大图片,不做切图,实现点击图上某一部分,触发功能

二、语法

三、问题

1.图片大小略高于一般设备的尺寸

一般 h5 中都是宽度拉满,高度自适应,因此重点关注宽度(浏览器F12常见移动端宽度尺寸):

  • iPhone SE: 375
  • iPhone XR: 414
  • iPhone 12 Pro: 390
  • Pixel 5: 393
  • ...

而由于 coords 的值是取 img 所在容器尺寸即设备尺寸,因此需要做简单的比例计算:

let img = new Image()
img.src = './images/bg.png'
// let coords = `0,${window.innerWidth * img.height/img.width *80%* img.height/img.height},${window.innerWidth},${window.innerWidth*img.height/img.width}`
let coords = `0,${window.innerWidth * img.height / img.width * 80%},${window.innerWidth},${window.innerWidth * img.height / img.width}`

需要的部分恰好从80%高度的位置开始到底
在这里插入图片描述

其他形状也可用矩形比例定位法处理

四、代码

<img src="./images/bg.png" alt="" usemap="#img_map">
<map name="img_map" id="img_map">
  <area href="#btn_group" shape="rect" :coords="coords"/>
</map>
let img = new Image()
img.src = './images/bg.png'
// let coords = `0,${window.innerWidth * img.height/img.width *80%* img.height/img.height},${window.innerWidth},${window.innerWidth*img.height/img.width}`
this.coords = `0,${window.innerWidth * img.height / img.width * 80%},${window.innerWidth},${window.innerWidth * img.height / img.width}`

over

相关文章
|
6月前
|
JSON 前端开发 JavaScript
|
4月前
|
存储 JavaScript 前端开发
vue尚品汇商城项目-day05【30.登录与注册静态组件(处理公共图片资源问题)+31.注册的业务+登录业务】
vue尚品汇商城项目-day05【30.登录与注册静态组件(处理公共图片资源问题)+31.注册的业务+登录业务】
53 1
|
4月前
|
JavaScript
vue尚品汇商城项目-day07【52.打包文件,处理map文件】
vue尚品汇商城项目-day07【52.打包文件,处理map文件】
32 3
|
6月前
|
容器
Vue3图片(Image)
该图片预览组件提供丰富的功能,包括设置鼠标悬浮预览文本、图像描述、尺寸调整、适应容器模式等。支持单张或多张图片展示,具备旋转、缩放、镜像等功能,并可通过键盘或滚轮控制。组件允许自定义多项属性,如图像地址、宽度、高度、边框显示等,并兼容多种使用场景,如相册模式和循环切换。组件内部使用了 Vue3 的 `Spin` 和 `Space` 组件以及 `add` 函数辅助实现。
165 2
Vue3图片(Image)
|
4月前
|
JavaScript
vue尚品汇商城项目-day07【vue插件-48.(了解)图片懒加载插件】
vue尚品汇商城项目-day07【vue插件-48.(了解)图片懒加载插件】
48 0
|
6月前
|
JavaScript 前端开发 安全
svg图片hover变色,居然只用一个vue指令就可以搞定!千万别在写两个控制显影了!
【8月更文挑战第22天】svg图片hover变色,居然只用一个vue指令就可以搞定!千万别在写两个控制显影了!
474 3
|
6月前
|
JavaScript 前端开发
Vue 系类之 this.tabledatas.map 无效
这篇文章讲述了在Vue项目中使用`this.tabledatas.map`处理接口返回的数组数据时遇到的问题,原因是由于取错了后端返回的数据集合字段值,导致`.map`方法无效,通过检查和修正数据取值解决了问题。
Vue 系类之 this.tabledatas.map 无效
|
6月前
|
JavaScript 前端开发
Vue中传递自定义参数到后端、后端获取数据(使用Map接收参数)
这篇文章讲述了如何在Vue中通过Axios二次封装传递自定义参数到后端,并展示了后端如何使用Map接收这些参数,以及如何避免参数转换错误和统一接口设计的方法。
|
6月前
|
JavaScript
如何在Vue页面中引入img下的图片作为背景图。../的使用
这篇文章介绍了在Vue页面中如何引入`img`目录下的图片作为背景图,提供了两种使用相对路径的方法。第一种是使用`../assets/img/`作为路径引入图片,第二种是使用`../../assets/img/`作为路径。文章还展示了使用这些方法的代码实现和效果展示,并鼓励读者学无止境。
如何在Vue页面中引入img下的图片作为背景图。../的使用
|
6月前
|
JavaScript
如何通过点击商品的信息(图片或者文字)跳转到更加详细的商品信息介绍(前后端分离之Vue实现)
该博客文章介绍了如何在Vue 2框架下实现前后端分离的商品信息展示和详情页跳转,包括排序筛选、详情展示、加入购物车和分享功能。
如何通过点击商品的信息(图片或者文字)跳转到更加详细的商品信息介绍(前后端分离之Vue实现)

热门文章

最新文章