• 締切済み

table内のCSS制御

cgi等で自動生成するテキストが表示されるtableタグをCSSで成形しようとするのですが、長いテキストの時に2行にするにはどのようにしたらよいのでしょうか。 ご教授いただけますとたすかります。 または、一番希望しているのは、難しいかもしれませんが、tableの幅をオーバーするテキストが生成されたとき自動的にその部分を表示しないことがよいのです。例えば 「あいうえおあいう・・・・」 というイメージです。 現在作ってみたCSSは、下記になります。 clear:both; と position:relative; は、外してみたり いろいろ試してみました。 また、.whatsnew_block もコメントアウトしてましたが 出来ませんでした。 ------------ div#contents .whatsnew_block { clear:both; margin:0px 0px 20px 0px; } div#contents .table { clear:both; position:relative; width: 190px; margin:10px 0px 0px 0px; } div#contents .table td { padding:1px 5px 1px 5px; } div#contents .table td image { margin:0px 0px 0px 0px; }

みんなの回答

  • rukuku
  • ベストアンサー率42% (401/933)
回答No.2

はじめまして まず、確認ですが、テキストが質問文にあるような「あいうえおあいう・・・・」ではなく「aaaaaaaaaaaaaaaaaa…」と半角英数字をずっとつなげていませんか? この場合、ブラウザは1つの単語と判断し、幅の設定を無視して幅を広げてしまうことがあります(IE6とFirefox3はそう表示されます)。 また div#contents .table と長い設定ですが、HTMLの方で階層(タグの閉じ忘れにも注意)やID,CLASS名のスペルは合っていますか? 大丈夫と思っていても、案外やるミスです。 withの値を変えてみて、ちゃんと機能しているか確認してみてください。

noname#79809
質問者

お礼

はじめまして。 下記、有り難うございます。 おっしゃるように通常の文章にいたしましたらきちんと折り返しました。 お礼が遅れて恐縮です。

回答No.1

テーブルの幅を超えたら勝手に折り返して欲しいと言うこと? だとしたら、 tableはタグ?、それとも.tableなんでクラス名?(ドットが付いてても良いの?) 幅を固定したいテーブルに効いていなければ、折り返さずに広がっちゃうと思うけど... 文字数で意図的に改行しないのなら、CSSでは無理かも

noname#79809
質問者

補足

回答有り難うございます。 行いたいことは、生成されるデータがtable内でおっしゃるとおり勝手に 折り返すか、・・・として表示されないかなのです。 現在は、このCSSで各行のmargin paddingを調整しております。 表示される行が高さの幅は調整されますので良いのですが、テキストが オーバーしたとき、tableが横に広がってしまいます。 CSSで難しいでしょうか。 生成されたhtmlには、IDを付ける事は可能です。