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}}`
          },
}
相关推荐
小陈工2 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
xiaotao1317 小时前
第九章:Vite API 参考手册
前端·vite·前端打包
午安~婉7 小时前
Electron桌面应用聊天(续)
前端·javascript·electron
彧翎Pro7 小时前
基于 RO1 noetic 配置 robosense Helios 32(速腾) & xsense mti 300
前端·jvm
小码哥_常7 小时前
解锁系统设置新姿势:Activity嵌入全解析
前端
之歆8 小时前
前端存储方案对比:Cookie-Session-LocalStorage-IndexedDB
前端
哟哟耶耶8 小时前
vue3-单文件组件css功能(:deep,:slotted,:global,useCssModule,v-bind)
前端·javascript·css
是罐装可乐8 小时前
深入理解“句柄(Handle)“:从浏览器安全到文件系统访问
前端·javascript·安全
华科易迅8 小时前
Vue如何集成封装Axios
前端·javascript·vue.js
康一夏8 小时前
Next.js 13变化有多大?
前端·react·nextjs