こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

tableの幅をがっちり固定

<table width="500">
<tr>
<td>
長い文字列長い文字列長い文字列長い文字列長い文字列....
</td>
...

の場合、widthで500ピクセル幅を指定しているにもかかわらず横幅が500以上に成ってしまいます。

文字列に改行を加えればいいのですが、改行をしない方法で指定した500px内に納めることはできないでしょうか?

よろしくお願いいたします。

投稿日時 - 2009-02-21 10:58:51

QNo.4736073

すぐに回答ほしいです

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

<pre>でも使ってるんでしょうか?

>改行をしない方法で指定した500px内に納めることはできないでしょうか?
overflow(とwhite-space)を使う。

td { width: 500px; overflow: auto; white-space: nowrap; }

http://www.tagindex.com/stylesheet/box/overflow.html
http://www.tagindex.com/stylesheet/text_font/white_space.html

<pre>を使っておいて自動的に折り返し、というのは無理です。
折り返しをしないのが<pre>ですから。

投稿日時 - 2009-02-21 15:38:46

ANo.4

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

>widthで500ピクセル幅を指定して
>改行をしない方法で指定した500px内に納めることはできないでしょうか?
物理的に不可能ですが?????
5mの車を2mの車庫には入れられない。

投稿日時 - 2009-02-21 15:02:59

ANo.2

文字列は英語でしょうか?
テストするときに

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

のように半角スペースを入れないと確かにはみ出ますが、普段は改行されると思うのですが・・・

投稿日時 - 2009-02-21 12:10:56

ANo.1

table {
width:500px;
table-layout:fixed;
}

でどうでしょう?

投稿日時 - 2009-02-21 11:21:18

補足

回答有り難うございます。

以上の方法ですと各カラムの幅が均等になるだけで文字はテーブルからはみ出したままです。

投稿日時 - 2009-02-21 11:27:52

あなたにオススメの質問