【发布时间】:2011-11-06 23:19:48
【问题描述】:
如果列标签文本比列宽宽,标签文本将被截断。 增加列宽并不好,因为有些文本很长。 如何使文本自动换行成多行?标题高度应由最大列高决定。
我找到的唯一解决方案是
jQgrid: multiple column row headers
但这并没有实现文本的自动换行。
如何实现标题文字的自动换行?
更新。我尝试了用于字符和自动换行的 Oleg 样式。
字符换行
th.ui-th-column div{
word-wrap: break-word; /* IE 5.5+ and CSS3 */
white-space: pre-wrap; /* CSS3 */
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
overflow: hidden;
height: auto;
vertical-align: middle;
padding-top: 3px;
padding-bottom: 3px
}
仅显示第二行的一半。第三行根本没有显示:
自动换行
th.ui-th-column div{
white-space:normal !important;
height:auto !important;
padding:2px;
}
禁用包装列的列大小调整。在那些将鼠标图标移动到列分隔符的列上,鼠标光标不会更改为 sizer。换行列无法调整大小。
如何解决这些问题?
更新 2
我尝试了字符换行(Oleg 回复中的最后一个示例)。 如果减小列宽以使标题中出现更多行,我发现问题:
如果在列分隔符底部拖动,则无法调整列大小:调整大小时不会增加调整器高度。
在 IE9 中标题高度增加不足:调整大小后最后一个标题行不可见。在 fireFox 中不会出现此问题。
【问题讨论】:
-
看看the answer。所以在列标题中的包装与cells 中的包装相同。此外,可以实现 character 包装,请参阅here。如果需要,可以在列标题中使用相同的 CSS 样式。
-
@Oleg:谢谢。我尝试了这两种方法,但都遇到了问题。我更新了问题。