三个点 - 溢出:省略号

3

我的问题是,为什么 "text-overflow:ellipsis;" 对我不起作用? 我在页面上有一个表格,我想缩短单元格(td)内的一些文本。 正如您所看到的,我在css中没有宽度参数。我从json中获取这个值,然后用jquery设置它。也许这就是问题所在?如果是这样,我该怎么解决呢?

#myTable2 td{
    white-space: nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    min-width:47px;
    border-top: solid 1px #ebebeb;
    border-spacing:none;
    cellpadding: 0;
    cellspacing: 0;
    font-family:arial;
    font-size: 8pt;
    color: #3D3D3D;
    padding: 4px;
}

我在Chrome 19、最新版Firefox和IE9中进行了测试。 谢谢。


1
你怎么期望它能缩短文本,而又不想对其设置宽度限制? - lanzz
是的,lanzz,这是我的问题...就像我说的那样,我从JSON文件中设置了宽度...我获取那里的宽度参数,然后使用JavaScript进行设置...宽度取决于用户... - Clem
抱歉,我误解了你的意思。我以为你是在设置文本,而不是宽度。 - lanzz
2个回答

5
你需要设置表格宽度并使用table-layout:fixed;属性。 http://jsfiddle.net/CagPK/
#myTable2 td{
    white-space: nowrap;
    overflow: hidden;
    text-overflow:ellipsis;
}
#myTable2 
{
    table-layout:fixed;
    width: 100px;
}
​

好的,我会尝试使用固定布局...就像我说的,我使用JavaScript设置了宽度...也许这就是问题所在?:> - Clem
好的!谢谢,这个有效...我在我的脚本中找到了一个错误并进行了修复...现在它正常工作了:> 再次感谢 - Clem

2

text-overflow 属性只能用于 display: block 的元素,而表格单元格则是 display: table-cell 元素。将文本放置在一个 <div>应该可以解决问题(点击文本时 fiddle 会设置宽度)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接