• ベストアンサー

CSSでの背景色設定とIE6.0での表示について

お世話になります。 全くの初心者ですが、Golive7.0の体験版を使ってHP作りに挑戦しています。 過去ログで調べてもわからなかったので教えて下さい。 使用OS : Windows XP (1) HTMLで表示する文章を作り、CSSファイルで、divブロック(class=contents)内の背景や文字色などは設定できましたが、ページ全体のbodyに適用させる背景色は反映されません。   body { background-color: #E7FAEE; } HTMLソースの方に直接上記の設定を指定すると反映されました。 参考にしている入門書にはCSS内で記述するように書かれていますが、何か忘れていることなどがありますでしょうか? CSSファイルのリンク設定はちゃんと反映されています。 (2) divブロック(contents)を画面の真ん中に配置するよう、  .contents { text-align: center; width: 600px; margin:auto; } と設定しましたが、IE6.0では画面の左端に寄っています。 ネットスケープ7.1ではきちんと中央に表示されます。 入門書には、『HTMLソースに<div class="contents">を入れないとIE5.xでは幅が固定されません』とあり、そこも記述してあります。 サーバーに上げてもプレビューと同じく反映されていませんでした。 5.xバージョンではないのに反映されないのはなぜでしょうか? 以上、どうぞよろしくお願いします。

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

  • ベストアンサー
noname#19206
noname#19206
回答No.2

(1)bodyの後ろに全角スペースが入っているから正常に認識されないだけです。 CSSは(フォント名などを除けば)基本的に半角で書くものです。 (2)ブロックレベル要素のセンタリングはIEとそれ以外とで指定方法が異なるため参考URLを御覧ください。

参考URL:
http://www.mozilla.gr.jp/standards/webtips0004.html
CoralPink1026
質問者

お礼

ご回答ありがとうございます。 御礼が遅くなってしまい、申し訳ありません。 (1)スペースが全角になっていることに気付いていませんでした。 教えて頂いてありがとうございました。 (2)ちょっと難しそうですが、とても有益な情報をどうもありがとうございました。 焦らずしっかり勉強していきますね。

その他の回答 (1)

noname#22222
noname#22222
回答No.1

body { text-align: center; /* Win IE 6 で、ブロックレベル要素がセンタリングされないのを防ぐため */ background: rgb(170, 170, 170)}; ※私は、このようにしています。

CoralPink1026
質問者

お礼

ご回答ありがとうございます。 お礼が遅くなってしまい申し訳ありません。 教えていただいたように記述しましたところ、ちゃんと希望通りに表示されました。 どうもありがとうございました。

関連するQ&A

  • 「css」 と 「div」の使い方について

    例えば、「CSS」でページ全体の要素をクラス「contents」で設定した場合、 HTML では次のどちらの記述が正しいのでしょうか? 1.<body class="contents">・・・ </body> 2.<body> <div="contents">・・・ </div> </body>

  • CSSで背景画像が表示されない

    CSSレイアウトで通常のHTMLで作成しています。 背景画像が表示されないくて困っています。 他の方の質問で似た事例があったのと、 情報サイトを見てみたのですがどうしても上手くいきません。 この場合floatとclearはどう使えば背景が表示されるのでしょうか? http://oshiete1.goo.ne.jp/qa3882745.html http://2nose.com/css/?ID=120 bodyには別背景を指定してあるのでbodyへの指定はできません。 何かアドバイスがあれば教えて頂けますでしょうか。(__) 確認はIE8です。 [ css ]----------------------------------------------------- #wrap{ width: 920px; height: 100%; margin-left: auto; margin-right: auto; background: url(../img/background.jpg) repeat-y; } #contents{ clear: both; } #sidemenu{ width: 275px; float: left; } #mainbox{ width: 570px; float:right; } [ html ]---------------------------------------------------- <div id="wrap"> <div id="contents"> <div id="sidemenu">サイドメニュー内容</div> <div id="mainbox">メインコンテンツ</div> </div> </div> 以上です、よろしくおねがいします!

    • ベストアンサー
    • HTML
  • CSSの使い方の流儀?

    先日業者にホームページの作成を依頼したところ、 子孫セレクタを駆使したCSSを使ったページが できあがってきたのですが・・・ たとえばこんな感じ <div id="header">   <div class="block1">     <span>・・・・・・</span>     ・・・・・・・   </div>   <span>・・・・・・</span>   ・・・・・・・ </div> <div id="contents">   <div class="block2">     <span>・・・・・・</span>     ・・・・・・・   </div>   <span>・・・・・・</span>   ・・・・・・・ </div> これに対して CSSでこんなスタイルが設定されています(セレクタ部のみ抜粋) #header .block1 #header .block1 span #header span #contents .block2 #contents .block2 span #contents span 私だったらわざわざ複雑な子孫セレクタを使わずに、 個々にクラスかIDを設定すると思うのですが・・・ また、ただ画像が貼ってあるだけと思ったら、 CSSでspanの背景画像として貼ってあったり、 ただの仕切り線と思ったら、 やはりdivのボーダーラインを使っていたり・・・ こういう作りって一般的なのでしょうか? あるいは、何か利点があるのでしょうか? ブログのカスタマイズなどだと、元のHTMLを自分で直せない場合が多いので、 こういうコトをすることが良くある、というのはわかるのですが・・・ あまりにHTMLのタグの構造とCSSが密接に絡んでいて、 ほんの一文追加しようとしただけで苦労していまして・・・ なんでこういう書き方なのかな・・・と、 不思議に思っています。。

  • IE8でCSSハックが効かないです。

    IE8でCSSハックが効かないです。 IE8のCSSハックを使用したくて、下記のように指定したのですが、 IE8で見るとIE8用に記述したCSSハックが効かないです。 ちなみにIE6用のハックとデフォルトで指定したクラスはきちんと表示されます。 記述方法が原因なのでしょうか。それとも他に原因があるのでしょうか。 教えて欲しいです。 ■サンプルソース <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="imagetoolbar" content="no"> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta name="keywords" content="キーワード1,キーワード2"> <meta name="description" content="ディスプリクション"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"> #main_contents p.test_style { font-weight: bold; color: #000; } /* IE6対策 */ *html #main_contents p.test_style { font-weight: bold; color: #ff0000; } /* IE8対策 */ html>/**/body #main_contents p.test_style { font-weight /*\**/: bold\9; color: #0033ff\9; } </style> <title>IE8表示テスト</title> </head> <body> <div id="main_contents" class="reset"> <p class="test_style">デフォルトのテキスト 黒で表示されます。</p> <p class="test_style">IE6用(css hack)のテキスト IE6で見ると赤で表示されます。</p> <p class="test_style">IE8用(css hack)のテキスト IE8で見ると青で表示されます。</p> <!--/main_contents--></div> </body> </html>

  • IEにおける謎の1pxずれ

    他をいろいろ探してみたのですが、該当するエントリーが無かったので質問させていただきます。 【質問事項】 ・divタグの背景がIEでのみ、画面サイズを変更した場合にずれる原因は何でしょうか?(divタグ自体のずれかもしれません) 【画面構成・概要】 以下のような構成で現在画面を作成しています。 ヘッダー、コンテンツ(正確にはbody)それぞれに背景を設定しています。 以下のような画面です↓  ===============================  | ヘッダー  ===============================  ===============================  | コンテンツ  |  =============================== この画面において、IE(6と7で確認)のみ、「Windowサイズの変更」を行ったときに、ヘッダーの位置が1pxずれます。 画面全体に背景を設定しており、ヘッダーがずれた1pxぶん画面全体の背景が下に見えるような状態になっています。 ヘッダーとコンテンツの横幅は同じ幅です。 このような感じ↓ =============================== | ヘッダー ===============================  ===============================  | コンテンツ  |  =============================== この現象は必ず起こる現象ではなく、Windowサイズを変更してもずれたりずれなかったりします。 この現象の原因が予測・予想できる方いらっしゃいましたらご教授くださいませ。 【HTMLの記述方法】 以下のようにHTMLは構成しています。 <html> ・ ・ <body> <div class="メイン"> <div class="ヘッダー">ヘッダー</div> <div class="コンテンツ">コンテンツ</div> </div> </body> <body>に全体の背景を設定しています。 背景は横幅950pxの画像をY軸方向にリピートし、CSSのmargin_left(& right)をautoにして中央よせにしています。 背景をグレーにして、中央に950pxの帯が通っているようなイメージです。 メインの<div>も同様に950pxで中央よせにしています。 ヘッダーの<div>でも950pxの画像を背景に、divのサイズをwidth:100%で設定しています。 margin、paddingとも0です。 おそらくFire FoxやGoogle Chromeでは同様の現象が起こらなかったので、IEのなんらかの仕様なのだろうと思っているのですが、理由が分からず困っています。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • CSS : IEとFirefoxの表示差異を改善したい

    grandswellと申します。 よろしくお願いいたします。 サンプルをIE、Firefoxそれぞれで見ていただけると わかっていただけると思うのですが、Firefox側が 意図した通りのレイアウトになっていません。 サンプルをIEで表示したレイアウトを Firefoxでも同じCSSで実現するにはどのような 工夫が必要でしょうか。 ぜひご教示くださいますよう、お願いいたします。 以下、サンプルのCSSとHTMLとなります。 *cssサンプル(style2.css) ---------- div.main { border-style : dashed; width : 100%; } div.main div.contents{ border-style : dashed; width : 75%; float : left; } div.contents div.contentsmain{ border-style : dashed; width : 100%; } div.contentsmain div.sidebar{ border-style : solid; float : left; width : 32%; } div.contentsmain div.entry{ border-style : solid; float : right; width : 66%; } div.main div.subspace { border-style : dashed; float : right; width : 23%; } div.footer { border-style : dashed; } ---------- *htmlサンプル ---------- <html> <head> <meta http-equiv="Content-Style-Type" content="text/css"> <link rel="stylesheet" href="./style2.css" type="text/css"> </head> <body> <div class="main"> <p>main</p> <div class="contents"> <p>contents</p> <div class="contentsmain"> <p>contentsmain</p> <div class="sidebar"> <p>sidebar</p> </div> <div class="entry"> <p>entry</p> </div> </div> </div> <div class="subspace"> <p>subspace</p> </div> </div> <div class="footer"> <p>footer</p> </div> <body> </html> ----------

    • ベストアンサー
    • CSS
  • IE用CSSが適用されない

    通常は12pxを指定して、IEのみフォントサイズを11px指定したいのです。 <!DOCTYPE HTML> <html lang="jp"> <head> <meta charset="UTF-8"> <title>タイトル</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Style-Type" content="text/css"> <!--[if IE]><link rel="stylesheet" type="text/css" href="css/ie.css"><![endif]--> <style> body { background-color:#FFFFFF; color:#333333; font: 'Lucida Grande', Verdana, Arial, 'Hiragino Kaku Gothic Pro', Meiryo, 'メイリオ', sans-serif; } #figure_main { font-size:12px; margin-top:10px; margin-left:10px; width:510px; } </style> </head> <body> <div id="figure_main"> <div class="box1"> <span>取締役会</span> </div> <div class="box1"> <span>取締役社長</span> </div> <div class="box2"> <span>常勤役員会</span> </div> <div> <ul> <li class="list_l">営業局</li> <li>人材派遣部</li> </ul> </div> </div> </body> </html> HTMLには<!--[if IE]>を記述し、 ie.cssには @charset "utf-8"; /* CSS Document */ #figure_main { font-size:11px; } と記述しましたが、適用されませんでした。適用されない理由を教えてくださいますか? 宜しくお願いします。

    • ベストアンサー
    • HTML
  • css で背景のリピート設定についておしえてください。

    css で背景のリピート設定についておしえてください。 htmlもcssも初心者で初めてホームページの制作をしています。 タグをコピーします。 <body> <div id="header"> </div>    <div id="globalnavi">   <ul> <li id="menu"><a href="#">メニュー</a></li> <li id="menu"><a href="#">メニュー</a></li> <li id="menu"><a href="#">メニュー</a></li>    </ul>   </div>  </div> <div id="haikei_repeat"> <div id="content1"> <div class="inner_top"></div> <div class="inner_repeat"> ここにテキスト </div> <div class="inner_bottom"></div> </div> <div id="body_right"> <div class="inner_top2"></div> <div class="inner_repeat2">ここにもテキスト</div> <div class="inner_bottom2"></div> </div> </div> </body> bodyにも背景画像を使い、ヘッダ以下の コンテント部分の<div id=haikei_repeat> にy方向にリピート画像を指定しました。 <div id="haikei_repeat"> の中にある、 div classにもそれぞれ背景画像をしていし、topとbottomはリピートさせず、 真ん中のinner_repeatのみ背景画像をリピートしています。 このdivにテキストやimgを挿入し、後ろのhaikei_repeatもinnerrepeatの大きさに合わせて縦に リピートしてほしいのですが、うまくできません。 <div id="haikei_repeat">と <div id="inner_repeat">のボックスサイズは 横は指定し、縦のみauto にしています。 inner_repeatはきちんと内容の量にあわせてレピート表示できていますが、 背景リピートはできていません。 どのようにしたらいいでしょうか??? どなたかおねがいします。

    • ベストアンサー
    • HTML
  • CSSで子ボックスに背景画像を設定してもNN7.01で表示されない

    例えば、下記のように記述して「pagebody」ボックスで 「bodybg.gif」という画像を垂直方向に並べたいのですが、IE6ではうまく表示されますが、NN7.01だとpagebodyのボックスに背景画像が表示されません(><;) 先ほど締め切った質問で「wrapper」のボックスに背景画像を貼り付けようとしてうまくいかなかった件はアドバイスを頂き、CSSに下記記述を加え、 .clear { clear: both; } 回り込み解除<div class="clear"></div>を挿入することで解決しましたが、レイアウト上wrapperの子ボックスにあたるpagebody内に背景画像を設定しなければならなくなり、またドツボにはまりました(><;)(><;)(><;)(><;) /* 問題のhtml * / <div id="wrapper"> <div id="header"></div> /* ヘッダー */ <div id="pagebody"> /* pagebody内2カラム */ <div id="content"></div> /* 右寄せ */ <div id="leftside"></div> /* 左寄せ */ </div> <div class="clear"></div> </div> /* 問題のcss * / #pagebody { padding: 0; margin-top: 4px; background: url(img/bodybg.gif) repeat-y;} 前回と同じような質問ですが、状況が変わってきたので仕切り直しました。 すみませんがどなたか教えて下さい・・・m(_ _)m

    • ベストアンサー
    • CSS
  • IEとFirefoxでの背景表示の違いについて (CSS)

    いつもお世話になっています。 CSSで枠(text_area)を作り、その背景の中央に画像表示させたいと考えています。IEでは中央に表示されるのですが、Firefoxだとtext_areaではなく画面全体の中央に配置してしまい、text_areaには一部欠けた画像が表示されます。 #text_areaに指定した内容を.contentsに書き写しても同じ状態です。 改善策をアドバイスして頂けないでしょうか? よろしくお願いいたします。 【html】 <body> <div class="contents"> <div id="text_area">あああああ・・・</div> </div> </body> 【css】 .contents{ width:760px; height:540px; margin:0px; margin-right:auto; margin-left:auto; padding:0px; border:0px; } #text_area { overflow:auto; width:600px; height:395px; margin-top:30px; margin-left:auto; margin-right:auto; background-image: url(haikei.gif);/* サイズ:456×392PX */ background-repeat: no-repeat; background-position:center; background-attachment:fixed; }

    • ベストアンサー
    • CSS

専門家に質問してみよう