次のマークアップを使用してネストされたテーブルを作成しました。最初のテーブルには典型的な行の例が含まれています。
<table class="outer">
<tr>
<td>
<table class="column" id="left_column">
<tr>
<td>
<table class="cell" id="t1">
<tr>
<td>
<asp:Literal runat="server" ID="t1r2c0" />
</td>
<td>
<asp:Literal runat="server" ID="t1r2c1" />
</td>
<td class="image">
<span id="s1" runat="server">
<asp:PlaceHolder ID="p1" runat="server">
</asp:PlaceHolder>
</span>
</td>
<td>
<asp:Literal runat="server" ID="t1r2c3" />
</td>
<td class="gray">
<asp:Literal runat="server" ID="t1r2c4" />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table class="cell" id="t2">
<!-- ... -->
</table>
</td>
</tr>
</table>
</td>
<td>
<table class="column" id="rightColumn">
<!-- ... -->
</table>
</td>
</tr>
</table>
そして、関連する CSS は次のとおりです。
#rightColumn table, #leftColumn table {
width: 100%;
}
.cell {
border-collapse: collapse;
border: 2px solid black;
margin: 5px;
}
.cell td {
border-collapse: collapse;
border: 2px solid black;
text-align: center;
vertical-align: middle;
}
.image {
padding: 0;
margin: 0;
width: 75px;
}
Firefox では、これは次のようにレンダリングされます。
しかし、IE6 では次のようにレンダリングされます。
IE では次の 2 つの問題が発生しています。
- すべてのテーブルに右側の境界線がありません。
- 右側の列の 2 番目と 3 番目の表では、これらのセルがクラス「画像」であり、75px の固定幅を持つ必要があるにもかかわらず、最後の列のサイズが任意です。
どんなアドバイスでも大歓迎です。
編集: #rightColumn テーブル、#leftColumn テーブル { 幅: 100%; 背景: 赤 }