2012-10-10 11 views
0

我试图在IE9中使用最大宽度属性。它在一个动态生成宽度的表格单元上使用(我正在使用dataTables)。我也正在使用“text-overflow:ellipsis;”所以它基本上具有视觉上切断字符的效果,但是我不能在没有最大宽度的情况下做到这一点。IE9中的最大宽度解决方案(带有文本溢出)

我不想在每个表格单元格上定义一个设置宽度,因为动态创建的单元格在其他情况下工作得很好。

这里是我的CSS:

.tableViewer tbody tr td { 
max-width:220px; 
overflow:hidden; 
text-overflow: ellipsis; 
color: #000000; 
font-size: 12px; 
margin: 0 0 0 20px; 
padding: 5px 5px 5px 10px; 
border-left: 1px solid #fff; 
border-right: 1px solid #ccc; 
/*border-bottom: 1px solid #D8D8D8; */ 
-webkit-touch-callout: none; 
-webkit-user-select: none; 
-khtml-user-select: none; 
-moz-user-select: none; 
-ms-user-select: none; 
-o-user-select: none; 
user-select: none; 
} 

的HTML,正如前面所说的是通过数据表生成。但这里是它的呈现形式:

<tr class="odd"> 
<td class=" sorting_1" title="[email protected]aabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbb.com" style="max-width: 220px; overflow: hidden; ">[email protected]aabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbb.com</td> 
<td class="" title="aaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbb" style="max-width: 220px; overflow: hidden; ">aaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbb</td><td class="" title="aaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbb" style="max-width: 220px; overflow: hidden; ">aaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbb</td> 
<td class="" title="" style="max-width: 220px; overflow: hidden; "></td><td class="" title="" style="max-width: 220px; overflow: hidden; "></td> 
<td class="" title="" style="max-width: 220px; overflow: hidden; "></td><td class="" style="max-width: 220px; overflow: hidden; ">2 <a href="#">view</a></td></tr> 

对不起,对于长期的标题,但这就是为什么我想弄清楚。任何人有任何建议?

编辑

根据要求,这里有一个的jsfiddle显示CSS/HTML和问题! http://jsfiddle.net/PY4cb/

+0

我使用'text-overflow:ellipsis'而没有设置'max-width',它的工作原理很好......对我的css来说唯一真正不同的是我还使用了'white-space:nowrap' – MrOBrian

+0

白色空间的功能是什么:nowrap?我已经添加并在IE9中没有提供任何内容。 – streetlight

+0

[这里是MDN空白页](https://developer.mozilla.org/en-US/docs/CSS/white-space)你可以创建一个复制你的问题的jsFiddle吗? – MrOBrian

回答

1

好了,所以我想出答案(感谢来自@MrOBrian一些指针) - 含表需求有这样的属性:

table-layout: fixed; 

在只有IE浏览器。由于某种原因,IE不会接受没有此元素的表格中的最大宽度(而所有其他浏览器都可以)。