Bootstrap

web官网适配,echarts 鼠标tooltip偏移

项目场景:

提示:这里简述项目相关背景:
开发某基金官网,适配问题

问题描述

1.设计图是1920px,不同分辨率需要适配。一开始使用的是postcss-px-to-viewport插件,但是在手机模式下,样式破了。随后解决别的网站,通过给body或者根元素设置zoom属性,可以使得整体页面缩放

<div id="app" class="mo-zoom"></div>
@media screen and (max-width: 1400px){
  .mo-zoom {
    zoom: .8;
  }
}
@media screen and (max-width: 1200px){
  .mo-zoom {
    zoom: .7;
  }
}
@media screen and (max-width: 1000px){
  .mo-zoom {
    zoom: .6;
  }
}
@media screen and (max-width: 900px){
  .mo-zoom {
    zoom: .5;
  }
}
@media screen and (max-width: 700px){
  .mo-zoom {
    zoom: .25;
  }
}

2.页面是通过zoom缩放来实现不同大小屏幕的兼容,后来发现缩放之后,echarts的鼠标移入时发生偏移。通过监听分辨率变化,获取zoom的属性值,先使echarts容器恢复正常,通过transform进行缩放

<div  id="trendEchart"  :style="`width: 1300px;height:400px;zoom:${zoom};transform:scale(${1/zoom});transform-origin:0 0`"></div>
let bodyzoom = getComputedStyle(document.getElementsByClassName('mo-zoom')[0],null).zoom;
    this.zoom = 1 / bodyzoom
    window.addEventListener("resize", () => {
      bodyzoom = getComputedStyle(document.getElementsByClassName('mo-zoom')[0],null).zoom;
      this.zoom = 1 / bodyzoom
    })
;