IE8忽略TD宽度,适用于IE7

问题描述:

有看起来像这样的表:IE8忽略TD宽度,适用于IE7

<table width="100%"> 
<tr id="header"> 
<td colspan="2"></td> 
</tr> 
<tr id="center"> 
<td id="left" style="width: 201px"></td> 
<td id="mainpage" style="width: 100%"></td> 
</tr> 
</table> 

在每一个浏览器(包括IE7)除了IE8“左” TD是好的。在IE8中,它根据主页的内容超出了宽度。

我会张贴一些截图,但这是我的第一篇文章。

任何想法?

+0

你想如何使表格的总宽度为201px + 100%? – 2010-07-22 08:07:53

+0

我不知道。但是这个布局修复了IE7问题。而且它不会影响IE8。 – Bill 2010-07-22 08:09:26

第二列的width: 100%看起来不正确 - 如果您要将第二列扩展到剩余的可用空间,则根本不需要,因此您可以将其删除。 此外,添加到您的表:

table-layout: fixed; 

确保宽度被遵守。

完整代码:

<table style="width: 100%; table-layout: fixed;"> 
<colgroup> 
    <col style="width: 201px"> 
</colgroup> 
<tr id="header"> 
    <td colspan="2"></td> 
</tr> 
<tr id="center"> 
    <td id="left"></td> 
    <td id="mainpage"></td> 
</tr> 
</table> 
+0

想到这个,试了一下,但一旦我设置表格布局固定两列获得相同的宽度(50%),它忽略了固定值。 第二列的100%作为IE7的修补程序。 – Bill 2010-07-22 08:16:27

+0

请尝试使用添加列的编辑解决方案 - 不是一个非常酷的解决方案,但它的工作原理。 – Razor 2010-07-22 08:30:55

+0

确实如此!似乎比我的解决方案更好,我会去那。 谢谢! – Bill 2010-07-22 08:51:58

你确定它应该是100%

<table width="100%"> 

表将作为它的父元素一样大。可能是你应该设定一个固定的宽度为表:

<table width="600"> 
+0

表格驻留在适合整个屏幕的div中。 – Bill 2010-07-22 08:13:04

如果你定义的宽度,以你的表和你的第一个你不需要去定义它为你的第二个。

我想第二个从容器是100%表是。

那么,问题通过加入一个空表与炫魅内一个固定的宽度稍微固定。

这样我实际上设置了一个最小宽度,而不管IE的忽略态度。感谢所有的答案。