我在LayoutPanels内的ScrollPanel内的FlexTable的单元格内具有标签。 ScrollPanel(及其父LayoutPanels)的大小是根据用户设备窗口的大小动态设置的(因此未使用确切的CSS大小)。 FlexTable,单元格和标签的宽度设置为100%。另外,FlexTable设置为具有fixed表布局。并且为标签提供了break-word的自动换行设置。在大多数情况下,这可以正常工作。带有短单词的句子可以毫无问题地换行到下一行,并且Label保持与包含表格单元格相同的大小。但是,当一个单词需要分成两行以适应(由于经常在此处放置指向页面的链接而经常发生)时,Label的宽度会自动扩展到超出包含它的单元格的大小。我知道这是GWT自行调整Label大小的结果,但是我不确定如何防止这种情况。我尝试将单词断行设置为break-all,但这会导致短单词到达要折断的行尾(例如,“ this”变成“ th”和“ is”),这很愚蠢。无论如何,我是否可以强制GWT标签仅保留其包含的单元格宽度的100%,并且在保持此设置动态不变的情况下,不让其扩展到超出该范围?非常感谢!

最佳答案

实际上,我认为对此没有很好的解决方案。您要么只允许在正常点(空格)处打断,要么可以在单词内部打断,但是仅通过CSS就无法防止短单词的打断。

由于链接导致了问题,我能给出的最佳建议是以某种方式缩短链接,也许只显示有限数量的字符;如果链接是可点击的,这应该不是一个大问题。

另外,您可以为标签或单元格设置固定的大小(仍可以以%为单位),如果有一个很长的单词无法打破,则可以使用overflow-x隐藏任何文本。

07-25 23:49
查看更多