• ベストアンサー

テーブルレイアウト

テーブルレイアウトで困っています。 <table width="100%" height="100%" border="1"> <tr> <td colspan="2" valign="top" height="100">全体の幅は100%</td> </tr> <tr> <td width="150" valign="top">左のセル<br>幅150</td> <td valign="top">右のセル<br>幅指定なし</td> </tr> </table> これだと問題なく表示されるのですが、 <table width="100%" height="100%" border="1"> <tr> <td colspan="2" valign="top" height="100">全体の幅は100% 少し長い文章を入れる</td> </tr> <tr> <td width="150" valign="top">左のセル<br>幅150</td> <td valign="top">右のセル<br>幅指定なし</td> </tr> </table> このように1列目のセルに長い文章を入れると、2列目の左のセルの幅が勝手に広がってしまいます。 何が原因で、対処法はないでしょうか? Netscape7.1ではこうならないんですが、IE6では勝手に崩れてしまいます。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

最近はこうするそうです。 私も今回はじめてしりました <table height="100%" width="100%" border="1"> <COLGROUP width="150"> <COLGROUP width="*"> <tr> <td colspan="2" valign="top" height="100">全体の幅は100% 少し長い文章を入れる</td> </tr> <tr id="x" > <td valign="top" >左のセル<br>幅150</td> <td valign="top">右のセル<br>幅指定なし</td> </tr> </table>

rutica
質問者

お礼

<colgroup>ですか、なるほど! 考えてもみませんでした。 スッキリ解消です。 ありがとうございました。

その他の回答 (2)

noname#15756
noname#15756
回答No.3

spacer.gifを使って左のセルを150pxに固定する方法はいかがでしょうか。 <table width="100%" height="100%" border="1"> <tr> <td colspan="2" valign="top" height="100">全体の幅は100% 少し長い文章を入れる</td> </tr> <tr> <td width="1%" valign="top"><img src="spacer.gif" width="150" height="1"></td> <td valign="top" width="99%">右のセル<br> 幅指定なし</td> </tr> </table>

rutica
質問者

お礼

一応幅150pxの画像を入れる方法はやってみましたが、ダメでした。 いただいた回答はこれから役立てたいと思います。 ありがとうございます。

回答No.1

IEの処理命令ですと、 「ブラウザのサイズに合わせて100%」→この条件がかなわなかった場合に 「文字長にあわせて100%」と気を利かせた条件変更をしてくれるとお考えいただければ。 ・widthをピクセル指定で固定してしまう。 ・100%にしても、余白ができますね? ここでマージンを埋めてしまい、その分テーブルのサイズに余裕を持たせる方法もございます。 BODYタグを <body leftmargin="0" topmargin="0"> 以上のように設定していただければOKです。 的をついた答えができませんでしたが、参考のほど<(_ _)>

rutica
質問者

お礼

IEでの処理命令の過程でそうなってしまうんですね。 勉強になりました。 サイドの余白は「丁度いいかな」と思って放置してましたが、埋めてしまうのも手ですね。 ありがとうございました。

関連するQ&A

専門家に質問してみよう