我有一个表设置来完美地截断文本....直到我将该表中的文本包装成div。以JSFiddle为例:http://jsfiddle.net/3DKMJ/
这适用于截断单元格中的文本:
<table>
<tr>
<td>Text</td>
</tr>
</table>
这不能用于截断单元格中的文本:
<table>
<tr>
<td><div>Text</div></td>
</tr>
</table>
这是我的css:
table {border:1px solid #000; width:100px;table-layout: fixed;}
td { width:100px;white-space:nowrap; overflow:hidden; text-overflow: ellipsis; }
关于div的事情是它仍然阻止文本包装,文本只是隐藏,但是我设置为显示的省略号不显示附加的div。
当表格中有div时,有什么想法可以让它工作吗?
[编辑]如上所述,我可以添加td, td div {
,这将有效。我发布后意识到这一点,我的问题似乎更具体。我实际上有一个跨度显示为内联块。我认为这是导致问题的块部分,但我想这是一个内联块的跨度。看到这个上升的小提琴:http://jsfiddle.net/P2PZW/2/
答案 0 :(得分:7)
您可以对相关的display:inline;
元素使用div
。
回复问题编辑:
在display:inline
上使用display:inline-block
代替td span
。
回复评论:
如果你真的需要保留display:inline-block
,你可以这样做:
td span {
display:inline-block;
text-overflow:ellipsis;
overflow:hidden;
width:100%;
}
答案 1 :(得分:2)
尝试
td, td div { width:100px;white-space:nowrap; overflow:hidden; text-overflow: ellipsis; }
代替
td { width:100px;white-space:nowrap; overflow:hidden; text-overflow: ellipsis; }