固定レイアウト表(table-layout:fixed;)で列の幅を%単位の値で指定する場合、指定値の合計が100%を超える場合でも、表全体の幅は表要素のwidthプロパティの値が適用されてしまう。
例示
<table border="2" style="table-layout:fixed; width:200px;">
<tr>
<td style="width:200px;">200px</td>
<td style="width:100px;">100px</td>
</tr>
</table>
<table border="2" style="table-layout:fixed; width:200px;">
<tr>
<td style="width:100%;">100%</td>
<td style="width:50%;">50%</td>
</tr>
</table>
| 200px | 100px |
| 100% | 50% |
どちらの表も1列目の幅が200px、2列目の幅が100pxになるはずです。
スクリーンショット
Netscape7.1標準モード
補足
%単位の値で指定した列幅の合計値が100%を超える場合、表全体の幅はtable要素のwidthプロパティの値を用い、各列の幅は各々の指定値に比例するように分配されます。上記の例では1列目の幅が100(%)、2列目の幅が50(%)なので 100:50 → 2:1 となり、1列目は約133px、2列目は約67pxが最終的な幅になります。
※本来は、枠線の幅やセルとセルの間の距離も計算しなければなりません。
修正状況
Netscape7.1の標準モードと互換モードで不具合の発生を確認しました。


