在我的网站中,我有很多<table>
s,其中有一个特定的列,我们希望将其压缩到最小可能的空间(没有包含文本)。其他兄弟单元格自动共享剩下的空间。
我正在使用以下技巧,它适用于除IE7-之外的所有浏览器。 (此时我实际上只关心IE7)
table {width:100%;}
table td.min-col {white-space:nowrap; width:1px; }
jsFiddle链接:http://jsfiddle.net/vm8gc/23/
如果你在IE7中尝试这个,你会发现它的行为不同(不是预期的行为)。 - 见下面的屏幕截图。
有人能想到修复IE7来实现这个目标吗?
所有其他浏览器:
IE7:
答案 0 :(得分:4)
出于某种原因,Internet Explorer似乎忽略了TD上的white-space
。解决问题的最佳方法是在TD内部使用跨度。
<td><span style="white-space: nowrap;">This should not wrap</span></td>
像往常一样,IE做自己的事情;)
有关white-space
支持的信息,请参阅此处:
http://www.quirksmode.org/css/whitespace.html
对旧浏览器提供更好支持的替代方案是执行以下操作:
<td><pre>This will not wrap</pre></td>
然后将你的pre元素设置为与普通文本相同的样式,或者让它从它的父元素继承样式(继承可能只有较少的支持,只指定样式):
td pre { font-family: inherit; font-size: inherit; color: inherit; ... }