CSSで<div>の位置を自動で調整する方法

このQ&Aのポイント
  • CSSを使用して、tableのサイズに応じて<div>の位置を自動で調整する方法を教えてください。
  • DreamweaverMX2004のテンプレートを使用して、上下のフレームを持つHPを作成中です。tableの縦のサイズが頻繁に変わり、<div>の位置を手動で調整するのが困難です。CSSのpositionプロパティをautoに設定したり、他の方法を試しましたがうまくいきません。どのようにすれば、tableのサイズに応じて<div>の位置を自動で調整できるでしょうか?
  • CSSを使用してtableのサイズに合わせて<div>の位置を動的に変更する方法について教えてください。DreamweaverMX2004のテンプレートを使用しているため、手動で位置を調整するのが難しくなっています。positionプロパティをautoに設定したり、他の方法を試しましたがうまくいきません。適切な方法を教えていただけますか?
回答を見る
  • ベストアンサー

cssで<div>の位置を自動で調整したいです。

いつもお世話になっております。 今回はcssのことでご指導お願い致します。 上下のフレームを使ってHPを作っているのですが、下のフレームにはtableがあり、その下に<div>があります。この形がいいのか悪いのかもわからないのですが、DreamweaverMX2004のテンプレートを使って作りはじめ、いらないものを削除したり、tableを挿入したりしているうちに今のレイアウトになっています。 それで教えていただきたいのですが、tableの縦のサイズが頻繁に変わります。そのたびに<div>の位置を調整していたのですが、tableのサイズにあわせて<div>の位置が自動で調整されるようにするにはどうしたらいいのでしょうか? ネットで調べて、positionをautoにしたり、諸々試したのですけど思うとおりになりません・・ ご指導の程、宜しくお願い致します。

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

  • ベストアンサー
  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.1

HTMLでは、縦位置は柔軟に配置されますので、 本来は、テーブルが短くなろうが長くなろうが、 <div>は、テーブル下部の下に同じ隙間で配置されます。 配置されないという事は、その柔軟な配置を無視して、 テーブルのみを position で強制的に配置しているからです・・・ 今のCSSを考えずに、新規HTML(別の見本)で、 position を利用せずに試すと、単純に理解出来るはずです。 <!-- test1.html --> <table><tr><td><h1>あああ</h1></td></tr></table> <div><h2>いいい</h2></div> <!-- test2.html --> <table><tr><td><h1>あ<br>あ<br>あ</h1></td></tr></table> <div><h2>いいい</h2></div>

s-akane
質問者

お礼

確認に時間がかかって、お礼が遅くなりました。 教えていただいた通りでした。 長い事悩んでいたので、少し前進したようで嬉しいです。 ご指導いただきまして、本当にありがとうございました。

関連するQ&A

  • CSSのdivのposition:relative;で位置がずれない

    IE6を使用しています。 次のような 「sample.css」 .sample {height:90px; background-color:#00ff00; font-weight:bold; position:relative; top 40px; } .sample2 {color:#ff0000; position:absolute; top:10px; left:10px } .sample3 {color:#ff0000; position:absolute; top:30px; left:30px } 「a.html」 <html> <head> <link rel="stylesheet" href="sample.css" type="text/css"> </head> <body> <div class="sample"> position:relative <div class="sample2"> sample2 </div> <div class="sample3"> sample3 </div> </div> </body> </html> を実行した場合に、ブラウザのトップから40pxだけ下にclass="sample"にある内容を 表示させたいのですが、どうも下にずれてないようなのです・・・ 何が原因なのでしょうか?

    • ベストアンサー
    • HTML
  • divの横幅 自動調整

    PHP + MySQL +html + CSS で動的テーブルを表示するサイトを制作しています。 <div id="○○○"> <table></table> </div> といったように、中のテーブルをdivで囲ってコーディングしています。 外側をdivで囲い横幅を指定してあげて、テーブルに横スクロールバーを表示させているのですが、divで指定した横幅よりもテーブルの横幅が短くなった場合、外のdivの幅がテーブルに合わせて短くならないのですが、このような場合、何か対処法はございますでしょうか。 superTable.jsを使用しており、このjsの使用がテーブルの外側にdivをおき、cssを使ってdiv側にスクロールバーを表示される仕様になっております。 以上、よろしくお願い致します。

    • ベストアンサー
    • CSS
  • CSSで「DIV」を使わずに…

    CSSで「DIV」を使わずに、テーブルを作るには、どのようにすればいいでしょうか。 DIVを使う方法で縦2×横1の表を作るだけで、一つの大きいボックスを作り、その中に二つ入れ子するので、最低でも別々のDIVを三つ作らないといけなくなります。 詳しく書かれているサイトでもいいので、教えて下さい。 では、よろしくお願い致します。

  • CSSで高さ100%のレイアウト

    テーブルを使用せずCSSでのレイアウトなのですが フッター位置をブラウザの一番下にマージン無しで指定したいのですが出来ません。 テーブルでは <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td valign="top">内容</td> </tr> <tr> <td valign="bottom">フッター</td> </tr> </table> というように指定していたのですが CSSでのレイアウトはHTMLを <div id="container"> <div class="content">内容</div> <div id="footer">フッター</div> </div> .CSS では #container { height: 100%; } は無効なのでしょうか? 他のやり方でもフッターをブラウザの一番下にマージン無しでレイアウトできる方法があったら教えて下さい。

    • ベストアンサー
    • CSS
  • レイアウトはテーブルよりCSSですか?

    今まで、Webサイトのレイアウトは、テーブルを何重にも入れ子にして、行ってきました。 最近、「レイアウトにテーブルを使うのはよくない」「テーブルで全体を囲っているレイアウトはダサい」などの意見を聞くようになってきました。 奮起して、テーブルでつくったページをCSSに書き換えようと思いましたが、なかなか困難です。 位置を左上基点に、それぞれの<div>をabsoluteで設定すれば、比較的容易にレイアウトを組めるのですが、やはり全体を画面の中心に持っていきたい、そうなると、全体をテーブルで囲って、align="center"が簡単です。 そこで、質問です。 ・CSSでレイアウトを組むとき、左上を基点にされていますか?全体を中央に配置するようにされていますか? ・CSSで、全体を中央に配置するとき、全体を<div>で囲って、その中に<div>を入れ子にして、配置していくと思いますが、なかなか思い通りの配置になりません。このやり方であっていますか?簡単なやり方がありますか? ・やはり、レイアウトにはテーブルよりも、CSSを使ったほうがいいですか? ご意見・ご回答いただきたく、どうぞよろしくお願いします。

    • ベストアンサー
    • CSS
  • cssのことでわからないことがあります。

    こんにちわ。 私はFC2ブログを使って自作テンプレートを作っているのですが、テーブルで組んだ一つのコンテンツを真ん中に配置したいのですが、cssでmargin-raight:auto、margin-left:auto;にしても真ん中に配置されません。 margin-left:300px;と入力すれば左に300pxの余白を作ることはできるのですが・・・ 何故なんでしょう? 後HTML上で<div align="center">~</div> で囲むと真ん中に配置されます。 私としてはcssでレイアウト全てを管理したいのでお願い致します。

  • テーブルとDIVとCSSについて質問です。

    テーブルとDIVとCSSについて質問です。 テーブルタグのtdにdivで、写真を入れたい(写真の周りにdivで枠の飾りみたいのをつけたいから)です。 その下に、CSSで定義した文字を入れたいのですが、 tdが横に2つ(=つまり、写真が2つ並ぶ)と、左の写真の下の文字を3行にし、 右の写真を下の文字を2行にすると、縦の中央になってしまい、 右が少し下にきてしまいます。 どう、定義したらいいでしょうか? また、その文字らを、text-align="center"でCSSで定義しても、 デザインですとセンターに見えても、ブラウザでみると、左揃えによってしまいます。 どう書いたらいいか、あわせて教えてください。 また、tableにdivを入れたらダメの場合は、どうやったら、いいか教えて下さい。 よろしくお願いします。

  • CSSでの画像の自動縮小について

    あるホームページを作成しているのですが、ブラウザを縮小した時、画像を自動で縮小したいのですがうまくいきません。 テーブルのレイアウトを崩したくないので、幅は固定したまま、かつ画像はブラウザサイズによって自動縮小にするようにしたいのですが、どうやってもうまくいきません。 ソースコードは下の通りです。 やはり、フレームレイアウト(waku)と、テーブルの幅を可変(パーセント表示)にしないと、画像の伸縮は難しいのでしょうか。 **** HTML部分(CSSは外部) ***** <body> <div id="waku"> <div id="a"> <table border="1" width="100%"> <tr> <td>ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ</td> </tr> <tr> <td> <div id="b"> 画像の説明 <img src="01.jpg"> </div> </td> </tr> </table> </div> <div id="c"> <table border="1" width="100%"> <tr> <td>ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ</td> </tr> </table> </div> </div> </body> **** style.css(CSS部分) ***** #waku { width:900px; border: 1px solid #000; } #a { width:800px; } #b img { max-width: 600px important!; width: 100% important!; max-height: 300px important!; height: 100% important!; } #c { width:800px; }

    • ベストアンサー
    • HTML
  • CSSでdivが縦にはみ出る問題

    HTMLとCSSについての質問です <div class="wrapper"> <div class"first"></div> <div class"second"></div> <div class"third"></div> </div> このようなHTMLがあります。 その際にfirst,secondのクラスはwrapper内に収まるのですが、最後のthirdクラスのみwrapperクラスから下にはみ出て表示されてしまいます。 thirdクラスもwarpper内に収めたいのですが、どうすれば良いのでしょうか? ちなみに今はレスポンシブのcssを書いていますが、PC版のCSSではしっかりとwrapperクラス内にすべてのdivが収まっています。 CSSは以下の通りです。 .wrapper{ position:relative; } .first{ position:absolute; top: 0; left: 0; } .second{ height: 500px; } .third{ height: 500px; } アドバイスよろしくお願いします。

    • 締切済み
    • CSS
  • CSSでdiv内を下揃え

    CSSでdiv内を下揃えは出来ないものでしょうか? テーブルを使った時の以下の表現をCSSで表現したいです。 <TABLE border="0" height="200"> <TR> <TD>ここは上から●pxに画像配置</TD> </TR>  <TR> <TD valign="bottom">ここを下揃えで画像表示</TD> </TR> </TABLE> テーブルならすぐできるのですが… 下揃えの方法があれば教えてください。

    • ベストアンサー
    • CSS

専門家に質問してみよう