美文网首页
H5热区实现-兼容ipad、PC浏览器、微信端浏览器、屏幕旋转

H5热区实现-兼容ipad、PC浏览器、微信端浏览器、屏幕旋转

作者: 摸不到的颜色 | 来源:发表于2019-01-07 16:49 被阅读0次

数据结构:
{

    "leftX": 6,

    "topY": 95,

    "rightX": 369,

    "bottomY": 353,

    "link": {

        "linkName": "Xxxx",

        "linkUrl":"www.baidu.com",

    }

}

解决方案:

使用a标签绝对定位,为了兼容各种情况,采用百分比布局。
代码:

<img src={data.backgroundImgUrl} />

data.map((item, index) => (

<a  className='hotareaLink' key={index} style={{"left":this.transformPx(item.leftX)+'%',"transform": "translateY("+(item.topY/(item.bottomY- item.topY))*100+"%)","width":this.transformPx(item.rightX- item.leftX)+'%',"paddingTop":((item.bottomY- item.topY)/750)*100+"%","zIndex":index }}  to={item.link.linkUrl}></a>  ))

                }

transformPx = (d)=>{

        return (d/750)*100

    }

背景:

绘制热区时以图片宽度为750 来计算leftX 、rightX,高度自适应

 {/* 为了兼容PC端浏览器打开热区、PC微信浏览器打开、移动端打开、移动端屏幕旋转使用百分比,宽度以750为基础计算百分比,由于拿不到图片真实高度,距离顶部使用transform(以自身为基础计算百分比),height使用paddingTop(以宽度为基础计算比例) */}

padding-top:代替height,padding-top百分比是以宽度为基础计算

相关文章

  • H5热区实现-兼容ipad、PC浏览器、微信端浏览器、屏幕旋转

    数据结构:{ "leftX": 6, "topY": 95, "rightX": 369, "bo...

  • 调qq客服聊天

    pc 用 移动端 移动端浏览器和微信还是不一样 注: 完美方案 兼容各种 判断一下是微信浏览器还是手机浏览器 这里...

  • 浏览器判断

    移动端 PC端 ios 微信浏览器 QQ浏览器

  • 移动端像素及视口的理解

    聊聊移动端的适配 H5开发相对于PC端web的开发,可以不用兼容那么多浏览器了,但是需要适配各种屏幕尺寸的适配。 ...

  • h5项目利用html2canvas生成PDF文件下载

    项目场景: vue项目运行在移动端(企业微信聊天栏工具、企业微信浏览器、微信浏览器、外部浏览器),PC端(微信浏览...

  • 移动端开发前端优化方案

    移动端开发主要是基于微信及手机浏览器的H5开发,其特点是设备屏幕较小、新特性兼容性较好、支持一些较新的 HTML5...

  • vue-qq三方登录(h5和pc通用)

    公司需求:微博,qq和微信三方登录微信只支持微信内置浏览器qq授权登录pc端和h5端是一样的。需要先申请qq互联,...

  • 运行环境

    运行环境即浏览器(server端有nodejs) 此处的浏览器,不仅仅指的是PC端的浏览器,还包括移动端的微信,支...

  • 手机端pdf预览

    项目需求: 实现h5页面中预览pdf,主要是微信中。HTML 、iframe 元素用在pc端还行,移动端不兼容,...

  • 移动端屏幕适配方法

    移动端web开发相对于PC端web开发,我们可以庆幸不用兼容那么多浏览器了,但是随之而来的却是各种屏幕尺寸的适配,...

网友评论

      本文标题:H5热区实现-兼容ipad、PC浏览器、微信端浏览器、屏幕旋转

      本文链接:https://www.haomeiwen.com/subject/gjgurqtx.html