4

在我的整个网站中,我有很多<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:

在此处输入图像描述

4

1 回答 1

4

CSS 2 版本

出于某种原因,Internet Explorer 似乎忽略white-space了 TD。解决此问题的最佳方法是在 TD 内使用 span。

<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>

然后将您的预元素设置为以与普通文本相同的方式设置样式,或者使其能够从其父级继承样式(继承可能比仅指定样式的支持更少)

td pre { font-family: inherit; font-size: inherit; color: inherit; ... }
于 2012-08-31T09:04:47.460 回答