用户列表表格溢出父级 div?

你好!

我目前正在学习 Discourse,计划未来搭建一个中文论坛,并发现一些表格会溢出其父级 div:


这些示例是在使用 Graceful 主题时截取的,但默认主题也会出现同样的问题。
这个问题之前有人讨论过吗?还是我应该为此提交一个 issue?
谢谢!:smiley:

我认为这是一个特定主题的问题,在我的主题上没有看到这种情况。

尝试更改语言,在我的情况下,这是因为表格标题与英文相比略显宽大。如果我将所有表格标题缩减为单个单词,表格宽度会恢复到其父 div 的宽度(在我的例子中为 1110px),但在我的情况下,标题较长,导致表格宽度超过了其父 div。

我刚试过,依然没有问题。我认为这是因为你的主题由于我看到的那些较大的内边距/外边距,导致容器尺寸较小。我的主题中最大宽度设置为 1250px。你可以通过添加以下代码来增大容器尺寸:

.wrap {
max-width: 1250px;
}

或者尝试减小那些外边距。

1 个赞

这是在全新的本地安装上进行的,没有任何自定义设置,仅更改了语言并打开了用户表:

我今天心情不错,如果你愿意的话,把你们的版块链接发给我,我帮你快速看一下 :slight_smile:

1 个赞

那是另一个页面——看起来是 /users 页面,而首帖中的截图显示的是管理员用户列表。我会在编辑首帖时进行澄清。

Jeff,第二张图片来自 /users 页面。
抱歉,我本应该使用默认主题重新截图。

以下是带有默认主题的看板链接:
https://abreojogo.flying-ape.com/u

我想我找到问题了。在我的主题中看不到它,因为我的最大宽度是 1250px,所以它显得更大。
请在您的“桌面”标签页中添加以下内容:

body .directory table th.sortable {
    white-space: initial;
}

这里的“桌面”标签页指的是:

编辑:@codinghorror 是的,Jeff,默认主题中也存在这个问题,因为 discourse.scss 第 312 行设置了 white-space: nowrap;

2 个赞

谢谢 Cos,问题解决了!:star_struck:
我还添加了以下内容,以修复 /admin/users 页面上的相同问题:

body .admin-contents table th.sortable {
    white-space: initial;
}
1 个赞

这凸显了无限滚动和宽表格存在的一些问题……我在此演示:

当前的行为是,在这些情况下我们会水平滚动整个应用程序……我们通常尽量避免这样做,但如果你查看视频的后半部分,会发现试图解决这个问题反而可能让情况变得更糟。如果我们隐藏溢出并为表格溢出部分添加水平滚动条,滚动条会位于表格的底部,而不是固定在视口的底部……因此,随着你不断加载新结果,滚动条会非常难以触及。

我认为最好的方案可能是通过一些 JavaScript 在溢出表格的顶部再添加一个滚动条?

1 个赞

是的,包含解决方案的第二部分效果更差。
对我来说,宽表溢出带来的问题在于它破坏了页面的整体设计,导致页面其他内容无法保持正常的容纳和对齐。

不过,我想目前并没有简单的解决方案,最好的办法是尽量避免一开始就使用这些宽表。

1 个赞