2

我有一个表格设置来完美地截断文本......直到我将该表格中的文本包装到一个 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/

4

2 回答 2

9

您可以在有问题display:inline;div元素上使用。

jsFiddle在这里。


回复问题编辑:

display:inlinedisplay:inline-blocktd span.

jsFiddle在这里。


回复评论:

如果您确实需要将其保留为display:inline-block,则可以这样做:

td span {
   display:inline-block; 
   text-overflow:ellipsis;
   overflow:hidden; 
   width:100%;
}

jsFiddle在这里。

于 2013-05-17T22:10:54.740 回答
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; }
于 2013-05-17T22:10:07.313 回答