css-Echarts图表tooltip / label文本过长 超出屏幕边缘或容器范围

1.tooltip 在靠近浏览器边缘时,部分内容看不见

1.1实际场景

文本过长或者Echarts刚好处于可视屏幕边缘导致超出的提示文本被截取。

1.2tooltip解决方法

设置确保tooltip不受父容器限制

复制代码
appendToBody: true,

设置让 tooltip 始终限制在视口内,自动调整位置

复制代码
confine: true, 

完整示例

javascript 复制代码
tooltip: {
  trigger: 'item',
  appendToBody: true,
  confine: true, // 自动防止溢出视口
  formatter: (params) => {
    return `${params.name}<br/>${params.value}人 (${Math.round(params.percent)}%)`
  }
}

2.label文本过长导致显示问题

2.1实际场景

文本过长被容器截取

2.2label解决方法

设置宽度,超出部分省略号显示,以及换行处理

javascript 复制代码
label: {
  show: true,
  position: 'inside', // 或 'outside'
  overflow: 'truncate', // 超出部分用省略号
  width: 80,            // 限制宽度(单位 px)
  formatter: (params: any) => {
    const percent = Math.round(params.percent)
    return `${params.value}人\n${percent}%`
  },
  fontSize: '1.2em',
  color: '#fff',
  lineHeight: 16,
  rich: richConfig
}

或者读取对应的文本进行截取,超过多少字进行截取添加省略号

javascript 复制代码
 label: {
          show: true,
          position: 'outside',
          formatter: (params: any) => {
            const name = params.name.length > 4 ? params.name.substring(0, 4) + '.' : params.name
            return `{text|${name}${''}}{color_${idx}|${params.value}}`
          },
}
相关推荐
仿生狮子3 小时前
OpenAI 攻下千禧年难题之后,开发者似乎无动于衷
前端·数学·vibecoding
夏幻灵6 小时前
JavaScript this 面试:五种绑定规则、优先级与常见面试陷阱
开发语言·javascript·面试
Lvan的前端笔记7 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
三天不学习7 小时前
Egg.js 4 突然爆火,原因是否归结于AI 原生落地需求爆发?
前端·javascript·全栈·egg.js
xcs194058 小时前
前端 vue 的前端页面debugger 进不去
前端·javascript·vue.js
明月_清风9 小时前
Deno 终局来了:从挑战 Node 到被 Cloudflare 收编
前端·后端·node.js
Csvn10 小时前
框架性能优化
前端
回眸&啤酒鸭11 小时前
【回眸】OpenSwarm 多智能体协作系统实战指南
大数据·前端·人工智能
用户693717500138411 小时前
2026,程序员的时代拐点到了
android·前端·后端
大龄秃头程序员11 小时前
一次 iBeacon + BLE 无感解锁方案的实现记录
前端