• ベストアンサー

テーブル幅が固定できない

cssに「table-layout: fixed;」を記載してテーブルの幅が固定になるように設定しています。 設定していますが、ブラウザの幅を狭めると テスト1|テスト2|テスト3 と表示されていたものが テスト1 テスト2 テスト3 と、レイアウトが崩れてしまいます。 <table>、<tr>、<td>タグにつけてみましたが、全て崩れてしまいます。 幅や高さ等も指定していますが、何かが足りないのでしょうか。

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

  • ベストアンサー
回答No.2

table-layout:fixed;と一緒にwidthを指定されましたか? 両方設定しないと固定されません。

green64
質問者

お礼

返答遅れて申し訳ありません。 widthを指定しましたが変わり無しでした。 ですが、さらに外側のタグにwidth等を指定すると固定することができました。 なぜ、固定できるようになったかが、いまいち分かりませんが 解決できたため締め切らせていただきます。

その他の回答 (1)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

fixedの意味を取り違えている? tableは本来、すべての行について内容を算出してレイアウトしていくのですが、fixedが指定してあると一行目から描画を始めます。  単にそれだけです。  ⇒17.5.2 表の幅を計算する(Table width algorithms: the 'table-layout' property)( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/tables.html#width-layout )  実際の計算方法は上記を参考に・・  なお、tableは決してレイアウトには使ってはなりませんから、ユーザビリティを考えるとtable-lyoutの値はautoが望ましいです。描画を早くするためにセルの最大文字数に合わせて、width:5emとかを一行目のセルに指定すると良いでしょう。

green64
質問者

補足

fixedが幅固定できないということは width:5emを使えばよいということでしょうか?