ECharts 移动端竖屏显示 Tooltip 解决方案

作者:工具松鼠

时间:2026-10-30

浏览:634

本文介绍在 ECharts 移动端开发中,如何实现 Tooltip(提示框)竖屏显示的技巧。通过 CSS 旋转与自定义 position 函数,解决 tooltip 始终动态计算位置并生成 transform 导致无法直接旋转的问题,提供最少代码量的解决方案。

文章目录

在移动端使用 ECharts 时,有时需要让图表以竖屏模式展示。

这样做的目的是为了让用户在非竖屏切换的情况下,能够看到更多的数据内容。

最终实现的效果如下所示。

在移动端使用 ECharts 时,有时需要让图表以竖屏模式展示。

在实现过程中,主要遇到了以下问题。

具体表现为 Tooltip(提示框)中的文字与 Y 轴平行显示,不符合预期。

查阅官方文档后,整理出以下解决思路。

首先尝试使用 extraCssText 配置属性,但未成功解决。

extraCssText: 'transform:rotate(90deg) !important;transform-origin: center;',

其次尝试修改 formatter 函数,同样未解决。

formatter() {
  return `<h1>6</h1>`
},

上述方法均无效,因为 Tooltip 始终会动态计算位置并生成 transform: translate3d(150px, 262px, 0px);。

既然难以控制父元素,那就转而处理子元素,此方法已解决。

解决父元素问题必须考虑两个关键点:位置和旋转。

这是代码量最少的解决方案。

具体的配置项代码如下。

tooltip: {
  trigger: 'axis',
  className: 'tp-box',
  position([left, top], params, dom, rect, size) {
    return { left, top };
  },
},

配套的 CSS 样式如下。

::v-deep(.tp-box ) {
    background-color: transparent !important;
    border: none;
    box-shadow: none !important;
    padding: 0 !important;
    & > div {
      transform: rotate(90deg) !important;
      transform-origin: top left;
      z-index: 9999999;
      box-shadow: rgb(0 0 0 / 20%) 1px 2px 10px;
      background-color: rgb(255, 255, 255);
      border-width: 1px;
      border-radius: 4px;
      color: rgb(102, 102, 102);
      padding: 10px;
    }
  }

以上就是 ECharts 移动端竖着显示效果实现的详细内容,更多关于 ECharts 移动端竖显的资料请关注本站其它相关文章!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章