- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:横長のコンテンツを含む場合のdivタグの指定方法)
divタグとtableタグの違いと横スクロール時の背景表示について
このQ&Aのポイント
- divタグとtableタグで横長のコンテンツを囲む場合の見え方に違いがあります。
- divタグでは横スクロール時に背景色が表示されない問題があります。
- tableタグを使えば横スクロール時も背景が表示されますが、divタグの場合はウィンドウサイズに合わせて幅が変化するため、背景が見えなくなります。
- みんなの回答 (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;">みたいなラップでサイズを確保しておくのがよろしいかと。
その他の回答 (1)
- yyr446
- ベストアンサー率65% (870/1330)
回答No.1
width 100%じゃなく width:2000pxみたく値指定しちゃだめなの。
質問者
お礼
回答ありがとうございます。 説明不足で申し訳ありません。 ページによってはこのような横長のテーブルがない場合もあるため、 ピクセル指定によって、必ず横スクロールが発生するのは望ましくありません。 やはりtableタグによる指定しかないのでしょうか。
お礼
回答ありがとうございます。 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タグでやろうと思います。 簡単なことのようなのに以外と難しいですね。 ありがとうございました。