• ベストアンサー

テーブルwidthで指定したのに幅が広がる

↓のようなHTMLをCGIで出力しました。 <TABLE width="500" cellpadding="10" bgcolor="wheat"> <TR> <TD>2006年9月6日(水)20時48分 </TD><TD><B>2/12求人広告結果</B></TD><TD> 広告</TD> </TR><TR><TD colspan="3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa </TD></TR> <TR><TD colspan="3"><A HREF="./outsider01.cgi?mycmd=edit&view_page=328"><P align="right">編集</A>|<A HREF="./outsider01.cgi?mycmd=delete&view_page=328">削除</A></P></TD></TR> </TABLE> すると、テーブルの幅が広がるのです。 aaaaaaaaaaaaaaaaaaaa・・・ ではなく、ふつうの全角の文章ですとwidth500で固定されるようです。 なぜ小文字のaaaaaaaaaaaaaだとwidthが固定されないのでしょうか?

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

  • ベストアンサー
noname#20941
noname#20941
回答No.1

このページ自体も広がっちゃいましたね^^; 英語は原則、単語の途中で折り返して書かないものですよね。なのでブラウザは無意味な半角英数字でもひとつの単語と解釈して折り返さないということらしいです。 ↓のページに解決策があるかもしれません。

参考URL:
http://chaichan.web.infoseek.co.jp/qa4000/qa4125.htm

その他の回答 (3)

  • aqucent
  • ベストアンサー率39% (78/200)
回答No.4

回答は皆さんの仰るとおりなので控えますが、これは最近よく出る質問ですね。 過去ログにも解決例が載っていますので、参考にどうぞ。 [教えて!goo] 日本語を半角英数字にすると画像にCSSのfloat:rightを指定していても無効になる問題について。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2386819&rev=1 [教えて!goo] テーブルの幅固定について http://oshiete1.goo.ne.jp/kotaeru.php3?q=2380265&rev=1

  • gura_
  • ベストアンサー率44% (749/1683)
回答No.3

 テーブル幅を固定するには、table-layout: fixed; の記述が必要です↓  <TABLE width="500" cellpadding="10" bgcolor="wheat" style="table-layout: fixed; word-wrap: break-word;"> <TR> <TD>2006年9月6日(水)20時48分 </TD><TD><B>2/12求人広告結果</B></TD><TD> 広告</TD> </TR><TR><TD colspan="3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa </TD></TR> <TR><TD colspan="3"><A HREF="./outsider01.cgi?mycmd=edit&view_page=328"><P align="right">編集</A>|<A HREF="./outsider01.cgi?mycmd=delete&view_page=328">削除</A></P></TD></TR> </TABLE>

参考URL:
http://www.tagindex.com/stylesheet/table/table_layout.html
回答No.2

質問を読んだだけで詳しい検証はしておりませんが。。。 ブラウザは、連続した半角文字をスペースがない限りひとつの行に納めようとします。そのため、テーブルの幅に収まらない場合は、幅を拡張して納めてしまうので、横幅がずれます。 これに対し、全角文字はどこでも改行されるので、横幅が伸びることはありません。 対処法としては、長い半角文字列を出力しないようにしたり、途中にスペースを入れるようにします。 また、IE独自のスタイルシート「word-wrap : break-word」を指定することで、連なった半角の途中でも改行されるようになります。(詳しくは参考URLをご参照ください)

参考URL:
http://www.htmq.com/style/word-wrap.shtml

関連するQ&A