Skip to content

[UI 增强] 长表格无法水平滚动,内容在窄窗口下被截断 #1463

@Nuonuoi

Description

@Nuonuoi

Problem
当 Reasonix 生成列数较多、内容较长的表格时,表格会直接超出聊天窗口的可视宽度,没有提供水平滚动条,导致表格右侧的内容被完全截断,用户无法查看完整信息。

这个问题严重影响了包含多列表格的回答的可读性,例如在代码审计、项目分析、数据对比等场景下,关键信息会丢失。对比豆包、通义千问等同类产品,它们的表格都会在固定宽度的容器内提供水平滚动条,允许用户左右滑动查看完整内容。

截图示例

Image

Proposed change
为所有 Markdown 渲染生成的 <table> 元素添加一个外层容器 <div class="table-container">,并为该容器设置以下 CSS 样式:

.table-container {
  width: 100%;
  overflow-x: auto;
  margin: 1rem 0;
}

.table-container table {
  width: max-content;
  min-width: 100%;
}

这样可以实现:

  1. 表格始终保持在聊天区域的固定宽度内
  2. 当表格内容超出容器宽度时,自动显示水平滚动条
  3. 不破坏表格本身的结构和对齐方式
  4. 保持整体 UI 布局的一致性

Alternatives considered

  1. 自动缩小表格字体以适应宽度:会导致列数较多时字体过小,难以阅读,尤其在高分屏上体验很差
  2. 强制表格内容自动换行:会严重破坏编号、日期、代码片段等格式化内容的可读性,同时打乱表格的对齐效果
  3. 让整个聊天区域水平滚动:会破坏整体页面布局,导致其他文本内容也需要横向滚动,大幅降低阅读体验

Scope check

  • This belongs in core reasonix (not better as a separate npm package)
  • I've read CLAUDE.md and CONTRIBUTING.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions