2010-07-22 102 views
21

有看起來像這樣的表: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

回答

41

第二列的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

0

你確定它應該是100%

<table width="100%"> 

表將作爲它的父元素一樣大。可能是你應該設定一個固定的寬度爲表:

<table width="600"> 
+0

表格駐留在適合整個屏幕的div中。 – Bill 2010-07-22 08:13:04

0

如果你定義的寬度,以你的表和你的第一個你不需要去定義它爲你的第二個。

我想第二個從容器是100%表是。

0

那麼,問題通過加入一個空表與炫魅內一個固定的寬度稍微固定。

這樣我實際上設置了一個最小寬度,而不管IE的忽略態度。感謝所有的答案。