【发布时间】:2013-04-01 02:20:25
【问题描述】:
假设我在表格中的列是id、name、description 和phone。 description 列是 1-255 个字符,但 id 最多只有 3 个字符。
我希望列的大小适当,而不是每列的大小相同。当窗口太小而无法完全容纳内容时,我希望description 列溢出到省略号。
table-layout:fixed; 是使text-overflow: ellipsis; 工作的标准方法,但它将所有列的大小调整为相同的大小。我宁愿保持宽度 auto 而不是固定的。
你能帮忙吗?
这是我的jsFiddle:http://jsfiddle.net/RQhkk/1/
这是我正在处理的屏幕截图:
注意Table 1 如何使所有列的大小相同?太可怕了。
注意Table 2 如何根据内容调整列的大小?那挺好的。除非内容太长:Table 3。然后就不合适了。在这种情况下,我希望它溢出到省略号。
这是我的 html 表格和 css 代码:
<div id="t1">
<table>
<thead>
<tr>
<th>id</th>
<th>name</th>
<th class="ellipsis">description</th>
<th>phone</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>alpha</td>
<td class="ellipsis">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</td>
<td>555-555-5555</td>
</tr>
<tr>
<td>2</td>
<td>beta</td>
<td class="ellipsis">Sed et nulla neque.</td>
<td>555-555-5555</td>
</tr>
<tr>
<td>3</td>
<td>gamma</td>
<td class="ellipsis">Morbi imperdiet neque ut lorem rhoncus fermentum.</td>
<td>555-555-5555</td>
</tr>
</tbody>
</table>
</div>
<style>
#t1 table {
table-layout:fixed;
width:100%;
}
#t1 td {
white-space: nowrap;
}
#t1 td.ellipsis {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
word-break: break-all;
word-wrap: break-word;
}
</style>
如果我删除了table-layout: fixed;,列宽就是您所期望的——根据内容调整大小。不幸的是,如果没有固定的布局,我就无法让省略号工作。我哪里错了?
【问题讨论】:
标签: html css html-table tablelayout ellipsis