• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CSSで左右マージンをautoにすると、heightのautoが効かなくなるのですが・・・)

CSSで左右マージンをautoにすると、heightのautoが効かなくなる理由と解決方法

このQ&Aのポイント
  • CSSで左右マージンをautoにすると、heightのautoが効かなくなる理由とは何か?また、この問題を解決する方法はあるのか?
  • CSSの左右マージンをautoに設定すると、heightのautoが効かなくなる現象が発生する。これは、フロート設定をしないとheightのautoが機能しないためだ。
  • 左右のautoで中央揃えにし、heightのautoでコンテンツを追加しても「wrapper」がきちんと伸びていく設定を共存させる方法は存在しない。フロート設定を行うか、他の方法で問題を解決する必要がある。

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

  • ベストアンサー
  • leap_day
  • ベストアンサー率60% (338/561)
回答No.2

こんにちは ・・・コンテンツにfloat指定していません? float解除するところに<div style="clear:both;"></div>とか入れれば直ると思いますが・・・ <style type="text/css"> body { margin:0px; } #wrapper { margin:auto; width:800px; height:auto; background-color:red; } #contents { width:500px; height:400px; background-color:blue; float:left; } </style> <div id="wrapper"> <div id="contents"> </div> <div style="clear:both;"></div> </div>

sea-bass
質問者

お礼

有難う御座います。CSS(カスケーディングスタイルシート)での clear:bothは知っており、試したつもりでいました。 再度、おしゃっられる通り設定してみたところ、ちゃんと表示されました。有難う御座います。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

>800×600 この600を排除したらどうなるかな? うまくいかないようなら別の技が有るけど(めんどい

sea-bass
質問者

補足

だめでした。 clear:bothで解決しました。 ご協力有難う御座いました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • div入れ子による height100%

    お世話になります。 親要素のdivは縦100%になるのですが、 入れ子のdivが縦100%にならず困っております。 検証ブラウザは、IE6、IE7、FF2、Safariです。 お分かりの方、ご教授をお願いいたします。 ▼HTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <title>test</title> <style type="text/css"> <!-- html { height:100%; } body { height:100%; margin:0; padding:0; } #wrapper { background: #99CC00; width:500px; margin-left:auto; margin-right:auto; min-height:100%; } #wrapper-inner { background:#CCFF00; width:450px; margin-left:auto; margin-right:auto; min-height:100%; } #contents { background: #FFFFCC; width:400px; margin-left:auto; margin-right:auto; min-height:100%; } * html #wrapper { height: 100%; } * html #wrapper-left { height: 100%; } * html #wrapperA { height: 100%; } --> </style> </head> <body> <div id="wrapper"> <div id="wrapper-inner"> <div id="contents"> テスト <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> </div> </div> </div> </body> </html>

    • ベストアンサー
    • CSS
  • jQuery height();で高さ取得できない

    jQuery初心者です。 宜しくお願いします。 要素の高さを取得するべく $(セレクタ).height(); としております。 取得したい要素ですが cssでのheightは特に固定値ではなくauto設定です。 (コンテンツの量によって可変させるため) これで、$(セレクタ).height(); を使い要素の高さを取得しましたが、 alertで表示させると0となってしまいます。 最終目標は要素の高さ(複数あり横並びで配置)を取得して、 配列におさめ、最高値をわりだして、 横並びの要素の高さを揃えたいと思っています。 その前に… 各要素の高さが取得できないんです。 何が問題なのかをお分かりになる方、 どうぞご教授下さい 宜しくお願いいたします。

  • マージン外側に壁紙を張りたい

    <div style="width:800px; margin:auto auto;"> これでホームページを中央に来るようにしています。 マージンの左右外側に壁紙を貼り付け、中央は白いホームページにしたいのです。 よく見るじゃないですかそういうHPを。 あれは、どうすればいいでしょうか? よろしくお願いします。 Dreamweaverを使っています。主にテーブルで作っています。

  • CSSでの背景画像の設定について

    CSSでの背景画像の設定について質問です。 参照ページ(http://www.balmuda.com/jp/)のような、メニューバーやフッター部分の背景画像が画面いっぱいに広がるようなページを作成したいと思っているのですが、CSSでの配置で問題があったので質問させて頂きます。 以下のようなdivを作って、wrapper部分に背景画像を設定しました。 <topmenu-wrapper> メニューバー部分の背景画像を指定 <topmenu> margin0 auto;で画面中央に配置 <contents-wrapper> コンテンツ部分の背景画像を指定 <contents> margin0 auto;で画面中央に配置 <footer-wrapper> フッター部分の背景画像を指定 <footer> margin0 auto;で画面中央に配置 floatを使うまでは、思ったような表示が出来ていたのですが、 floatをcontentsの中などで指定し始めると、レイアウトが崩れてしまいました。 clearfixなどで、対処しても、レイアウトが崩れたままです。<margin: 0 auto;がきかず、画面中央に配置されなかったりと。。> 解決策を教えて頂ければ幸いです。よろしくお願い致します。

    • ベストアンサー
    • HTML
  • CSSをどう書けばいいでしょうか?

    CSSをどう書けばいいでしょうか? 以下のhtmlを想定しています。flashの表示位置はウインドウの上下中央センターに表示させたいと思っております。 footerは常にページの下部に表示させる予定です。 ページ上にコンテンツが少ないのでスクロールするまでもない状態なのでこのような表示位置を実現したいのですがどのようにすればいいでしょうか? 下記に書いているCSSに添削をお願いいたします! #flash { margin: 0 auto; width: 960px; height: 450px; } #footer { margin: 0 auto; width: 960px; height: 150px; } <div id="flash">上下左右の中央に表示されるコンテンツ</div> <div id="footer">常にページ下部に表示されるコンテンツ</div>

    • ベストアンサー
    • HTML
  • CSSで、height:100%の中央寄せ

    白い背景に、緑色の本文欄(id="container")を中央配置しようと思っています。 本文欄の上下に余白はなく、文章量に関係なく画面ぴったりの高さにするために、 html, body, containerのそれぞれにheight:100%、 親要素にmargin, padding 0を指定したところ、 画面をスクロールさせたところから緑色の背景色が消えています。 どのようにすれば解決できるのでしょうか? *{ margin:0; padding:0; } html, body{height:100%;} #container { height:100%; width:800px; background-color:#0A0; margin:0px auto; }

    • ベストアンサー
    • HTML
  • CSSでマージンを残しつつ中央そろえにする方法について

     こんにちは、Phoenix001と申します。  趣味でホームページ製作をしている者です(ただし割と初心者です)。  先日、ネットサーフィンをしてホームページ作成の参考になるサイトを探していた所、 http://www.gardenxgarden.com/ というサイトを発見いたしました。  このサイトはサイトのサイズが横800pxだと思うのですが、1200pxで開くと左右に均等にマージンがあり、ウィンドウを小さくするとマージンからなくなり、さらにウィンドウを小さくしてもページが崩れないように出来ています。  私はこのようにマージンを作りつつ中央にサイトがあり、ウィンドウを小さくするとマージンからなくなるページは始めて見たので是非自分でもやってみたいのですが、CSSの設定はどうやるのでしょうか?  練習用にHTMLとCSSのソースを作りましたので、これでやり方を示していただけると幸いです。  HTML、CSS内容がメニューとコンテンツの(参考サイトのページ3分割ではなく)2分割です。マージンのやり方なので問題はないと思います。  なるべく間違いがないように骨組みは(マージン以外)作ったつもりですが、間違えていたらご容赦ください。  どうぞ、よろしくお願いいたします。 ■練習用HTML <head> <title>マージンがあり、ウィンドウを小さくするとそこからなくなっていくサイトを作るには?</title> <link rel="stylesheet" type="text/css" href="index.css" media="screen,print"> </head> <body> <div id="main">■■←Mainで全体を覆いますよね?使用しない場合は消してください。 <div id="head"> <h1>マージンのあるサイト</h1> </div> <div id="menu"> <h2>リンク</h2> <ul> <li>マージン</li> <li>作りたいです</li> </ul> </div> <div id="content"> <p>マージンがあるのに中央にそろえられて、ウィンドウを小さくするとマージンから消えていくサイトは始めてみました。是非創ってみたいです。解答しやすくなるようにコンテンツのデータを入れてあります。</p> <h2>案内</h2> <p>HTML、CSSが分かる方、解答をお願いいたします。</p> <dl> <dt>マージン</dt> <dd>ページの余白のこと</dd> <dt>やり方</dt> <dd>分からないです</dd> <dt>作る意欲</dt> <dd>沢山あります。</dd> </dl> </div> </div> ■HTML終了 ■練習用CSS(いらないものは消して、いるものは追加してください。h1、h2は分かりやすくなるように入れています。) body { background-color: white color: black; margin-left : auto ; margin-right : auto ; } h1 { font-size: 1.6em; background-color: #480; color: white; padding: 0.2em; } h2 { font-size: 1.0em; border: 1px solid #480; padding: 0.2em; } p { line-height: 1.6em; } div#main { float: middle; width: 800px; } div#menu { float: left; width: 9em; background-color: white; margin-right: 1em; padding: 0.4em; } div#menu h2 { font-size: 1em; } div#menu ul { font-size: 0.9em; list-style-type: none; margin-left: 0; padding-left: 0.5em; } div#menu li { margin-bottom: 0.4em; } div#content { float: left; width: 80%; } div#content h2 { font-size: 1.2em; border: 1px solid #800; padding: 0.2em; } div > *:first-child { margin-top: 0; } ■CSS終了

    • ベストアンサー
    • HTML
  • ホームページを中央に配置(表示)したい

    ドリームウィーバーを使っています。作ったDivタグを中央に配置したいと思い、cssルールで、「ボックス」の「マージン」の左右をautoにしました。すると、safariではうまく中央表示されるのですが、firefoxでは左揃えになってしまいます。どうしたらいいか、教えてください。

  • CSSレイアウト・背景グラデーション

    初めまして <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" でCSSでヘッダー・右袖・左メイン・フッターとレイアウトしてます。 ヘッダーから下は右・左・フッターとコンテンツIDでまとめてます。 bodyと#wrapperを使いセンター表示にしてますがページによって テキストボリュームの差がかなりあるのでそれぞれのheightは設定してません。 autoでも非設定でも複数ブラウザで大丈夫だったので省きました。 このレイアウトでIE・Safari・FireFoxなどでレイアウト崩れはしないのですが、枠線を付けたり背景画像で境界線に影を付けたりすると問題が出ます。 FireFoxとSafariだけヘッダー部分にしか影が出ません。 IEやSleipnirではフッターまで反映されます。 ページ毎のテキストボリュームが違うためheight設定してませんが数値指定するとすべてのブラウザで反映されます。 heightに数値いれるとテキストが少ないページでは無駄な表示域がでてしまうので避けたいです。 解決策や当方の設定に問題点があるでしょうか? 影画像は820pxで制作#wapperの背景に指定してます。 よろしくお願いします。 body { text-align: center; padding: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; } #wrapper { text-align: left; width: 800px; margin-top: 0px; margin-bottom: 0px; margin-right: auto; margin-left: auto; padding: 0px; } #header { margin: 0px; padding: 0px; width: 800px; height: 300px; } #contents { padding: 0px; margin-top: 10px; margin-right: 0px; margin-left: 0px; width: 800px; height: auto; margin-bottom: 0px; } #contents #left { margin: 0px; padding: 0px; width: 200px; float: left; height: auto; } #contents #right { padding: 0px; float: right; width: 600px; margin: 0px; height: 1280px; } #footer { margin: 0px; padding: 0px; width: 800px; height: 60px; } 上では#wrapperに画像設定してませんが#wrapperに背景設定してます。 どのブラウザでもレイアウト崩れは起きてないです。 よろしくお願いします。

    • ベストアンサー
    • CSS
  • cssでメインコンテンツをセンタリングする方法

    cssでメインコンテンツをセンタリングする方法に関する質問をお願いいたします。 下記のサイトなどをみると、 http://www.css-lecture.com/log/css-beginner/026.html *xhtml <body> <div id="wrapper"> <h1>サイト全体を中央に配置にする</h1> <p>サイト全体を中央に配置にする為のテキスト</p> <!--/ #wrapper--></div> </body> *css body { text-align: center; } div#wrapper { width: 800px; margin: 0 auto; text-align: left; border: 1px solid #FF0000; } (1)「body」においてもセンタリングを行っているいるのですが、 それはどうしてでしょうか。 「div#wrapper」だけのセンタリングでは不十分なのでしょうか? > body { text-align: center; } > (2)また、「p」などのインライン要素は { text-align: center; } を使い、 「id」などのブロック要素は { margin: 0 auto; text-align: left; } を使いますすが、 body要素に対しても、 { text-align: center; } とすることが出来るのでしょうか? (3)あと、「div#wrappe」で囲ったブロックの中の 「p」や「id」で囲ったコンテンツの中身のテキストは 「div#wrapper」の「 text-align: left; 」で 全て左寄せになりますか? 参考書などを見ても解りづらかったので 教えていただきたくお願い致します。m(_ _)m その他参考URL: http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1010809440

    • ベストアンサー
    • CSS