• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:横長のコンテンツを含む場合のdivタグの指定方法)

divタグとtableタグの違いと横スクロール時の背景表示について

このQ&Aのポイント
  • divタグとtableタグで横長のコンテンツを囲む場合の見え方に違いがあります。
  • divタグでは横スクロール時に背景色が表示されない問題があります。
  • tableタグを使えば横スクロール時も背景が表示されますが、divタグの場合はウィンドウサイズに合わせて幅が変化するため、背景が見えなくなります。

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

よくわかってませんが・・・ width:100%のdiv内にtableが納まっていない(=はみ出している)ことによる結果だと思いますので、No1様のご指摘のようにwidthを必要な大きさにしてあげるか、overflow:autoなどにすればtableをdivの中に納まるようにすることが可能と思われます。 (overflow:autoの場合は、当然ながらスクロールバーが出ます) 逆に、divをtablelサイズに合せるのであれば、widthの指定をせずに、position:absoluteとすることで可能になると思われます。 ただし、この場合は全体のレイアウトでabsolute扱いされてしまい弊害が出る可能性があるので、divの外側で別に<div style="width:100%; height:170px;">みたいなラップでサイズを確保しておくのがよろしいかと。

casionet
質問者

お礼

回答ありがとうございます。 position:absoluteで求めていた結果は得られました。ありがとうございます。 ただ、これもこちらの説明不足なのですが、 当然テーブルのサイズに幅が揃ってしまうので、 テーブルサイズが小さい場合、以下のようにヘッダーサイズの幅が ページごとに異なる結果になってしまいます。 ※外側にdiv width100%を追加しても同様 http://www.oreryu.sakura.ne.jp/test/test04.html テーブルのコンテンツ幅がどのようなサイズであっても、 常にヘッダーはウィンドウサイズに合わせて表示されるようにしたいのですが、tableタグでないと無理なようですね。 http://www.oreryu.sakura.ne.jp/test/test06.html http://www.oreryu.sakura.ne.jp/test/test07.html とりあえず、急いでいるのでtableタグでやろうと思います。 簡単なことのようなのに以外と難しいですね。 ありがとうございました。

その他の回答 (1)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

width 100%じゃなく width:2000pxみたく値指定しちゃだめなの。

casionet
質問者

お礼

回答ありがとうございます。 説明不足で申し訳ありません。 ページによってはこのような横長のテーブルがない場合もあるため、 ピクセル指定によって、必ず横スクロールが発生するのは望ましくありません。 やはりtableタグによる指定しかないのでしょうか。

関連するQ&A