背景画像の位置を固定し、背景画像の上に表示している画像を常に中央に表示する方法

このQ&Aのポイント
  • ブラウザの横幅が1024の際、背景画像と上に表示されている画像を画面中央に表示する方法について教えてください。
  • ブラウザの横幅が1000以下の際、背景画像と上に表示されている画像を左側を基準に表示する方法について教えてください。
  • 現在、背景画像と上に表示されている画像の表示方法で問題が発生しています。改善策を教えてください。
回答を見る
  • ベストアンサー

背景画像の位置を固定し、背景画像の上に表示している画像を常に中央に表示する方法

背景画像の位置を固定し、背景画像の上に表示している画像を常に中央に表示するようにしたいと思ったのですが、背景画像も常に中央に表示されてしまいます。 そのため、上記の現象の対処法について何かご教示いただける方がいらっしゃいましたら、よろしくお願いします。 【やりたい事】 1. ブラウザの横幅が1024の際、背景画像を画面中央に表示したい。 2. ブラウザの横幅が1024の際、背景画像の上に表示されている画像を画面中央に表示したい。 3. ブラウザの横幅が1000以下の際、ヘッダーやコンテンツやフッターという文言の表示方法と同じように、左側を基準に表示したい。 4. ブラウザの横幅が1000以下の際、背景画像の上に表示されている画像は画面中央に表示したい。 【現状】 1,2,4は出来ています。 ただ、3については、ヘッダーやコンテンツやフッターという文言の表示方法と同一にする方法が分からず、画面中央に表示されてしまいます。 【ソースコード】 <!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" lang="ja" xml:lang="ja" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <title>title</title> <style type="text/css"> <!-- body { text-align: center; margin:0; padding:0; } #wrapper_index_up, #wrapper_index_bottom { margin: 0 auto; text-align: left; } #wrapper_index_up, #wrapper_index_bottom, #header, #contents, #footer { width: 1000px; } #header { background-color:red; } #top_img_wrapper { background-image:url(http://cdn.oshiete.goo.ne.jp/images/top/search_bk.gif); background-repeat:no-repeat; background-position: center; } --> </style> </head> <body> <div id="wrapper_index_up"> <div id="header">ヘッダー</div> </div> <div id="top_img_wrapper"> <img src="http://cmm001.goo.ne.jp/img/sn/sn_50.gif" alt="" width="139" height="92" /> </div> <div id="wrapper_index_bottom"> <div id="contents">コンテンツ</div> <div id="footer">フッター</div> </div> </body> </html> どうかよろしくお願いします。

  • HTML
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • abril
  • ベストアンサー率69% (388/560)
回答No.3

ANo.2です。 > ここは「ブロック内でセンタリング」ではなく、「ブラウザの横ウィンドウ幅でセンタリング」となります。 > 下記のサイトに記載されているように、ブラウザの横ウィンドウ幅を縮めたり広げたりしても、画像が常に中央に固定されているようにしたいです(ブラウザの縦ウィンドウ幅は本件には関係ありません)。 > http://www.lucky-bag.com/appendix/centering-elements/centering.html その他の補足と、上記サイトを見て、イメージが掴めました。 上記サイトの画像は、"position: absolute;"でtopとleftの位置を50%とする事でウィンドウ(画面)に対して常に上下左右の中央に配置される様にしてあります。これと同様の事をやりたいだけなら簡単ですが、お望みの表示結果に関していくつか確認させて頂きたい事があります。 まずは下記のサンプルを試してみて下さい。 ---------------------------------------------------------------------- 【修正版サンプル(2)】 ---------------------------------------------------------------------- <!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" lang="ja" xml:lang="ja" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <title>title</title> <style type="text/css"> <!-- body { text-align: center; margin:0; padding:0; } #top_img_wrapper, #wrapper_index_up, #wrapper_index_bottom { width: 1000px; margin: 0 auto; text-align: left; } #header { background-color: red; } #top_img_wrapper { background: url(http://cdn.oshiete.goo.ne.jp/images/top/search_bk.gif) center center no-repeat; } #top_img { position:absolute; width: 139px; height: 92px; top: 0; left: 50%; margin-left: -70px; } --> </style> </head> <body> <div id="wrapper_index_up"> (wrapper_index_upの領域 ここから) <div id="header">ヘッダー</div> (wrapper_index_upの領域 ここまで) </div> <div id="top_img_wrapper"> (top_img_wrapperの領域 ここから) <div id="top_img"><img src="http://cmm001.goo.ne.jp/img/sn/sn_50.gif" alt="中央固定表示させる画像X" width="139" height="92" /></div> <p class="hoge">top_img_wrapper内で画像Xの下に表示する最初の子要素(テキストなど)</p> (top_img_wrapperの領域 ここまで) </div> <div id="wrapper_index_bottom"> (wrapper_index_bottomの領域 ここから) <div id="contents">コンテンツ</div> <div id="footer">フッター</div> (wrapper_index_bottomの領域 ここまで) </div> </body> </html> ---------------------------------------------------------------------- 前回のサンプルからの修正点は以下のみです。 【1】背景画像を指定する#top_img_wrapperとは別個に、中央固定表示画像を挿入する為だけのブロック#top_imgを追加。 【2】#top_img内で、画像Xをbodyに対しての絶対配置として指定。(ここの手法については参考サイトにポイントの解説が載っているので各プロパティの設定の理屈は省略します) これで#top_img_wrapperの位置や幅とは関係なく、#top_imgは常に画面の左上を基点とした絶対配置になる為、水平方向はウィンドウ幅に対して常にセンタリングされる事になります。ただし、質問者様の場合は参考サイトと違って、画像Xの上下にヘッダー・コンテンツ・フッターというブロックが存在していますから、それらと、画像Xが(参考サイトの様に制限なく)重なってしまっては困るのでは?現に、上記サンプルでは、垂直方向に対する絶対位置を0にしてしまっているので、画面の上端にくっついてしまい、ヘッダーの上に画像Xが重なってしまう状態になっています。 これらを回避する為には、更にいくつかの条件を明確にして頂く必要があります。 (1)#top_imgの描画開始位置は、上からどれだけの位置にあればよいのか?例えば、ヘッダーを収める#wrapper_index_upの高さが50pxと決まっており、画像Xはそのすぐ下に、という事であれば、topプロパティの位置を指定する。 #wrapper_index_up { height: 50px; } #top_img { top: 50px;←修正 } (2)#top_img_wrapperに表示させたい要素は、実は背景画像しかないのか?そうであれば、背景画像の全体像が必ず描画される様に、#top_img_wrapperに背景画像と同じ高さを指定しておく必要がある。例えば質問文中のソースの実寸通りであれば、下記の様に。 #top_img_wrapper { height: 92px;←追加 } (3)(2)と違い、#top_img_wrapperにはテキストなどの子要素があり、画像Xの下から表示させたい、というのであれば、#top_img_wrapperの高さの確保を最低92px以上に変更した上で、#top_img_wrapperの中で画像Xの下に配置する要素にはmargin-topなどで画像X分の余白を上方向に取ってから描画を開始する様にする。 #top_img_wrapper { min-height: 92px;←追加 _height: 92px;←min-heightが無効なIE6用ハック } #top_img_wrapper p.hoge { margin: 92px 0 0 0; } …という感じですが。いかがでしょうか。

iroha_168
質問者

お礼

ありがとうございます。 【修正版サンプル(2)】で意図した動作になっていると思います。 なお確認事項の件ですが、ヘッダー・コンテンツ・フッターと画像Xが重なると困る為、(1)の対応を実施させていただきました。 また(2)の通り、#top_img_wrapperには背景画像しかありません。 そのため、heightを指定させていただきました。 一通り見た感じでは今回ご教示いただいたソースで私のやりたい事は出来ると思いますので、正式にウェブサイトに適用してみようと思います。 組み込みが終わり次第、正式なご回答を差し上げたいと思います。 大変申し訳ございませんが、2週間位後になりそうです。 その際、「良回答20pt」を付加させていただきたいと思います。 以上、宜しくお願いします。

iroha_168
質問者

補足

ありがとうございます。 正式にウェブサイトに適用してみた所、正常に動作しました。

その他の回答 (2)

  • abril
  • ベストアンサー率69% (388/560)
回答No.2

今ひとつ、質問者様が望まれているレイアウトのイメージが掴めないのですが。 > 背景画像の位置を固定し、背景画像の上に表示している画像を常に中央に表示するようにしたい この「固定」「中央」というのはどこを基点にしていますか? ソースを見ると、主立ったコンテナブロック(<div id="○○○">~</div>)に対して1000pxという幅を決め打ちしていますので、 (1)コンテンツ全体の幅は1000pxで固定。 (2)コンテンツの描画枠(1)自体は、ウィンドウサイズ(横幅)に対して常にセンタリング(ウインドウの左右両端から均等に余白がある)の状態。 (3)(2)の中に入るテキストなどは(2)の中で左寄せ。 (4)ただし、<div id="top_img_wrapper">~</div>に対しては背景画像をリピートさせずに水平・垂直両方向からセンタリングさせ、子要素のimg自体はセンタリング。 …という事でしょうか? > 背景画像も常に中央に表示されてしまいます。 現在の指定では、#top_img_wrapperの背景画像に対して"background-posiiton: center;"としていますから当然ですね。 ちなみに、ANo.2の方がアドバイスされた"background-attachment: fixed;"を使うと、文字通り背景画像が”固定”されますので、どんなにスクロールが発生しても背景画像はウィンドウサイズそのものに対して上下左右からの中央にがんと張り付いたままの状態になり、その他のコンテンツだけが上滑りしていく様な状態になりますが。 > 1. ブラウザの横幅が1024の際、背景画像を画面中央に表示したい。 > 2. ブラウザの横幅が1024の際、背景画像の上に表示されている画像を画面中央に表示したい。 1024px”以上”という事ではなく?また、1001px~1023pxの間の挙動は? > 3. ブラウザの横幅が1000以下の際、ヘッダーやコンテンツやフッターという文言の表示方法と同じように、左側を基準に表示したい。 ここの主語が抜けてますが、「何の要素A」を「何の要素B」の”左側を基準”にするのでしょうか? > 4. ブラウザの横幅が1000以下の際、背景画像の上に表示されている画像は画面中央に表示したい。 これは2と同じなわけですから、<div id="top_img_wrapper">~</div>内の画像は、ブラウザの横幅に関係なくそのブロック内でセンタリングという事ですよね? 「【現状】」が「1,2,4は出来て」おり且つ「3については、ヘッダーやコンテンツやフッターという文言の表示方法と同一」にできていない、という状態であるならば、単純に下記の様な状態にしたいだけなのでしょうか? ---------------------------------------------------------------------- 【修正版サンプル】 ---------------------------------------------------------------------- <!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" lang="ja" xml:lang="ja" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <title>title</title> <style type="text/css"> <!-- body { text-align: center; margin:0; padding:0; } #top_img_wrapper, #wrapper_index_up, #wrapper_index_bottom { width: 1000px; margin: 0 auto; text-align: left; } #header { background-color: red; } #top_img_wrapper { background: url(http://cdn.oshiete.goo.ne.jp/images/top/search_bk.gif) center center no-repeat; } #top_img_wrapper img { display: block; margin: 0 auto; } --> </style> </head> <body> <div id="wrapper_index_up"> (wrapper_index_upの領域 ここから) <div id="header">ヘッダー</div> (wrapper_index_upの領域 ここまで) </div> <div id="top_img_wrapper"> (top_img_wrapperの領域 ここから) <img src="http://cmm001.goo.ne.jp/img/sn/sn_50.gif" alt="" width="139" height="92" /> <p>ここに入る文言を、上下の「ヘッダー」「フッター」という文言と同様に左揃えで表示したいという事ですか?</p> (top_img_wrapperの領域 ここまで) </div> <div id="wrapper_index_bottom"> (wrapper_index_bottomの領域 ここから) <div id="contents">コンテンツ</div> <div id="footer">フッター</div> (wrapper_index_bottomの領域 ここまで) </div> </body> </html> ---------------------------------------------------------------------- …こういう事ではなく? コンテンツ全体の幅が1000pxなわけですから、ウィンドウサイズが1000px以下であれば左右に余白が生じないのでウィンドウの左端にくっついた状態になりますし、1000pxより大きければその分左右に均等に余白ができますから、ウィンドウに対してセンタリングされている状態に見えます。 ご希望と解釈が異なる様でしたら、具体的に補足をして下さい。 これは蛇足ですが、せっかく質問者様は既にCSSでのレイアウトに取り組んでおられるのですから、今更table要素でレイアウトをするという本来の用途から大きく逸脱した方法を採用する必要は全くありません。”中央固定”とか”左側基準”とかの位置決めは、table(表)が担う役目ではありませんので。

iroha_168
質問者

お礼

ありがとうございます。 補足要求の件ですが、下記となります。 (1)その通りです。 (2)その通りです。 (3)その通りです。 (4)その通りです。 > 1024px”以上”という事ではなく?また、1001px~1023pxの間の挙動は? 正確には1000px以上という表現が適切だったと思います。 申し訳ございません。 > ここの主語が抜けてますが、「何の要素A」を「何の要素B」の”左側を基準”にするのでしょうか? 「top_img_wrapperの背景画像の左余白」を「wrapper_index_up」の左側を基準としたいです。 ブラウザの横ウィンドウ幅を縮めても、ヘッダの赤い背景色の左端とtop_img_wrapperの背景画像の左端とのX軸の間隔を同一に保ちたいです。 > これは2と同じなわけですから、<div id="top_img_wrapper">~</div>内の画像は、ブラウザの横幅に関係なくそのブロック内でセンタリングという事ですよね? ここは「ブロック内でセンタリング」ではなく、「ブラウザの横ウィンドウ幅でセンタリング」となります。 下記のサイトに記載されているように、ブラウザの横ウィンドウ幅を縮めたり広げたりしても、画像が常に中央に固定されているようにしたいです(ブラウザの縦ウィンドウ幅は本件には関係ありません)。 http://www.lucky-bag.com/appendix/centering-elements/centering.html ただし、上記のような動作をしたいのはあくまで<img>タグの画像のみとなります。 【修正版サンプル】をためさせて頂いたところ、ブラウザのウィンドウ幅が1000px以上の際はこの動作で良いのですが、1000px未満になった際は希望の動作となっておりませんでした。 【修正版サンプル】を表示した状態でブラウザの横ウィンドウ幅を小さくしてみると、imgタグの画像が画面右側に表示されると思います。 上記リンク先の「要素を常に画面の中央に配置」では常にブラウザの中央に表示されると思います。 imgタグは上記リンク先のような状態で、imgタグの後ろの背景画像は【修正版サンプル】のような動作をしてほしいと思います。 上記で意図は伝わりましたでしょうか? 以上、よろしくお願いします。

  • lemon530
  • ベストアンサー率35% (13/37)
回答No.1

これってもしかしてIBMホームページビルダーの”どこでも配置モード”っていうのでしょうか? ご質問とソースを見て思ったのですが、 標準モードでやれば、画面サイズには関係なく、いともたやすいことだと思うのですが? つまり、 背景画像の固定は、スタイルシートで <STYLE type="text/css"> <!-- BODY{ background-image : url(haikei.gif); background-repeat : no-repeat; background-attachment : fixed; background-position : center;} --> これはいいとして。 ちなみに、HTMLの<BODY>タグでの背景の固定の方法もありますが、 スクロールするとパソコン環境によっては引きずられるようになる場合がありますので、 スタイルシートでの固定の方がいいかと思います。 画像の中央固定とか、テキストは左側基準とかは、画面の大きさに関係なく、 表<TABLE>などを使えば超簡単というか、ページ作りの初歩の初歩の話です。 あまりに簡単なことなのであえて書かないほうがよいかと思います。 つまり、余計なお世話かもしれないですが、このようにソースから研究されている人ですから、”どこでも配置モード”でのページ作りは即刻やめられて、ホームページビルダーでも何でもOKですので、標準モードでソースを見ながらHTMLタグを習得をしながらページ作りに入られたほうが絶対に将来のためです。正直、こんなことしているのは時間のムダだと思います。 そんなことを感じましたので失礼かと思いましたが回答させてもらいました。 私は標準モードでソース編集と併用してやっています。是非そうしてください。

iroha_168
質問者

お礼

ありがとうございます。 使用しているツールはDreamweaverとなります。 教えていただいたソースを適用しましたが、やりたい事の3は満たせませんでした。 教えていただいたソースを移植したものは下記となりますが、どこが間違っているかご教示いただきたいと思います。 【ソースコード】 <!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"​ lang="ja" xml:lang="ja" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <title>title</title> <style type="text/css"> <!-- body { text-align: center; margin:0; padding:0; background-image : url(http://cdn.oshiete.goo.ne.jp/images/top/search_bk.gif); background-repeat : no-repeat; background-attachment : fixed; background-position : center; } #wrapper_index_up, #wrapper_index_bottom { margin: 0 auto; text-align: left; } #wrapper_index_up, #wrapper_index_bottom, #header, #contents, #footer { width: 1000px; } #header { background-color:red; } --> </style> </head> <body> <div id="wrapper_index_up"> <div id="header">ヘッダー</div> </div> <div id="top_img_wrapper"> <img src="​http://cmm001.goo.ne.jp/img/sn/sn_50.gif"​ alt="" width="139" height="92" /> </div> <div id="wrapper_index_bottom"> <div id="contents">コンテンツ</div> <div id="footer">フッター</div> </div> </body> </html> 以上、宜しくお願いします。

iroha_168
質問者

補足

「この回答へのお礼」のソースに一部意図しない変換がされていました。 そのため、質問欄のソースを元にしていただければと思います。 以上、宜しくお願いします。

関連するQ&A

  • footerの背景が切れて、背景画像が見えてしまう

    かなりハマってしまいまして、ご相談させて下さい。 添付画像の上の図になる形で下記コードにてhtml/cssを記載しました。 青のimg.bgはウィンドウ幅によって比率を保ったまま横100%で可変します。 containerの縦幅は決まっていて、img.bgがウィンドウ幅が横に広がっても、 container、contents、footerはz-indexで上に乗せ、あくまでもcontainerの 高さ600pxのみが表示できるようにしています。 通常のウィンドウサイズや縦にウィンドウを伸ばした場合は問題ないのですが ウィンドウを横一杯に伸ばした時に(添付画像の下の図)footerの下から img.bgが見えてしまいます。 wrapperで縦横100%の値にしていて、footerの背景画像もimg.bgを 隠せる十分な長さのものを用意しているのですが、最後のcopyrightを 入れた所から切れてしまいます。 横一杯に伸ばした際に、img.bgの長さに合わせてfooterで隠すには どのようにしたら良いでしょうか? ご指導の程、どうぞ宜しくお願い致します。 下記、不要部分は省いたcss/html記載いたします。 ===================== CSS ===================== html,body{ width:100%; height:100%; position:relative; } #wrapper{ width:100%; min-height:100%; height:100%; background-color:red: position:relative; } body > #wrapper{ height:auto; } img.bg { /* Set rules to fill background */ min-width:1000px; min-height:586px; /* Set up proportionate scaling */ width: 100%; height: auto; /* Set up positioning */ position: absolute; top:0; left:0; z-index: 0; } #container { width:95%; height:500px; position: relative; overflow: hidden; z-index: 4; } #contents{ width:100%; background-color: green; position: relative; z-index: 2; } #footer{ width:100%; background: url(../img/footer_black.jpg) left top repeat-x; background-color: black; position: relative; z-index: 3; } ===================== HTML ===================== <html> <head>...略...</head> <body> <div id="wrapper"> <img class="bg" src="img/blue_BG_pic.jpg" alt="" /> <div id="container">...略...</div> <div id="contents">...略...</div> <div id="footer">...略...</div> </div><!--/wrapper--> </body> </html>

    • 締切済み
    • CSS
  • 背景画像をCSSで中央に指定し、さらにその背景画像の中に違う画像を

    背景画像をCSSで中央に指定し、さらにその背景画像の中に違う画像を 位置指定したいのですが、うまく反映されませんでした。 「 background-position: center center; 」「 background-position: center center; 」 がCSS側での背景画像位置指定と多くヒットしたのですが、反映はされませんでした。 「 margin-left: 80px; 」を指定したところ、画面中央に位置が反映されたのですが 画面サイズを1024×768から1280×1024に変更すると 中央から左寄りにずれてしまいます。 下記に実際のソースを記載致しますので、どなたか解る方がいらっしゃいましたら アドバイスの程宜しくお願いいたします。 - 画面サイズを変更すると位置がずれてしまうソース - @charset "utf-8"; #img { width: 700px; height: 125px; background: url(img.jpg); margin-left: 80px; background-repeat: no-repeat; } #img #img2 { float: right; margin-right: 0px; margin-left: 30px; margin-top: 59px; margin-bottom: 0px; } ---------------------------------- - HTML - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>img</title> <link rel="stylesheet" href="style.css" type="text/css" /> </head> <body"> <div id="img"> <div id="img2"><img src="img_1.gif" width="50" height="30" border="0" />&nbsp;<img src="img_2.gif" width="50" height="30" border="0" /></div> </div> </body> </html> ------------------------------------------- - 検索でヒットした位置指定のソース - @charset "utf-8"; #img { width: 700px; height: 125px; background: url(img_2.jpg); background-position: center center; background-repeat: no-repeat; } #img #img2 { float: right; margin-right: 0px; margin-left: 30px; margin-top: 59px; margin-bottom: 0px; } ------------------------------------------- - HTMLは上記と同じ -

    • ベストアンサー
    • HTML
  • 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で親ボックスの背景画像を設定してもNN7.01で表示されない

    例えば、下記のように記述して「wrapper」ボックスで 「bodybg.gif」という画像を垂直方向に並べたいのですが、IE6ではうまく表示されますが、NN7.01だとヘッダー部分以外のボックスに背景画像が表示されません(><;) /* html * / <div id="wrapper"> <div id="header"></div> /* ヘッダー */ <div id="pagebody"> /* pagebody内2カラム */ <div id="content"></div> /* 右寄せ */ <div id="leftside"></div> /* 左寄せ */ </div> </div> /* css * / #wrapper { width: 600px; margin-left: auto; margin-right: auto; margin:0px; background: url(../img/bodybg.gif) repeat-y; padding: 0px; } CSSで毎回つまづくところですが、どうにもこうにも対処方法が見つかりません(T_T) どなたか力をかしていただけないでしょうか・・・

    • ベストアンサー
    • CSS
  • 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
  • 背景画像だけをはみ出して表示させたい。

    CSSについて質問です。 よろしくお願いします。 CSSで背景画像だけをはみ出して表示させたいのですが、 やり方がわかりません。 例えば、exampleというIDをつけている要素があって、 中のテキストははみ出さずに背景画像だけをはみ出して表示させたいです。 ===CSS=== #example{ background-image:url(images/backimage.gif); background-repeat:no-repeat; } ===HTML=== <div id="example">背景だけはみ出したい!!</div> overflowを使うと中のテキストがはみ出してしまいますが、 何かいい方法はありませんでしょうか。 具体的には横幅180pxのサイドバーに182pxの背景画像を付けて 枠を作ろうとしています。 ご教示の程よろしくお願い申し上げます。

    • ベストアンサー
    • HTML
  • IE6で、背景画像とコンテナを常に中央表示させたい

    bodyの背景画像と、コンテナを ブラウザウインドウ幅に対して、 常に中央表示させたいです。 IE7、8、FireFox、Safari では上手くいっているのですが、 IE6だけ、うまく行きません。(何故かずれてしまいます) コードは以下です ------------------------------------------------------- ●HTML <body>   <div id="container"></div> </body> ●CSS body{   background: url(画像のパス) no-repeat;   background-position: center top;   text-align: center; } container{   width: 900px;   margin: 0 auto; } ----------------------------------------------------------------------------------- どうやらIE6では、 コンテナも bodyに置いた背景画像も だいたい中央表示されているのですが 軸がズレている??ようなかんじで お互いがずれて、だいたい真ん中、という感じになってしまいます。 どなたか詳しい方いらっしゃいましたら よろしくお願いいたします。。

    • ベストアンサー
    • HTML
  • 背景画像

    背景画像のCSSを教えてください wordpressのfooterのように、footer内のみに縦100px横幅1pxの画像で敷き詰めたいです 実際に横960pxに敷き詰められるようにしたいです #footer_in { position:relative; margin:0 auto; padding:0; width:960px; height:100px; background:url(../images/footer_bg.png) no-repeat center 13px; font-size:12px; } <div id="footer_in"> </div>

    • ベストアンサー
    • CSS
  • 【jquery】スクロールで背景画像もついてくる

    よろしくお願いいたします。 jqueryを使って背景画像をスクロールと一緒についてくるようにしたいのですが、 思い通りにいかず、質問させていただきたいと思います。 やりたいと思っていることは、 まず背景画像1(1.jpg)をbodyにbackgroundに設定して、 その上に<div></div>タグで背景画像2(2.png:透過画像)をbackgroundに設定し、 背景画像2だけスクロールと一緒についてくるようにしたいと思っています。 現状のソースは以下になっています。 【html head内】 <script src="jquery.js" type="text/javascript"></script> <script type="text/javascript"> $(function() { $(window).scroll(function(){ var y = $(this).scrollTop(); $('#haikei').css('background-position', '50%'+ parseInt( y / 3 ) + 'px'); }); }); </script> 【html body内】 <div id="haikei"> <div id="wrapper"> <div id="header">  ~略~ </div> <div id="contents">  ~略~ </div> </div> </div> 【CSS内】 #bg01 { background: url(2.png) top center repeat-y; } 今の状態だと、動き自体は思い通りに動いてくれるのですが、 背景画像を表示させたい位置がありまして、 <div id="header"></div>内には2.pngを表示させず、 <div id="contents"></div>の部分から2.pngを表示させて スクロールについてくるようにしたいと思っています。 下記のように、 <div id="wrapper"> <div id="header">  ~略~ </div> <div id="haikei"> <div id="contents">  ~略~ </div> </div> </div> と、<div id="haikei"></div>の位置を変えてみましたが、 これだとスクロールしたときに、<div id="header"></div>の下から 画像が途中からはみ出てくる?ような感じで、きれいにスクロールされません。 さらにCSSのrepeat-yをno-repeatに変えて試してみましたが、 その場合画像がページの一番下まで動いてくれません。 (途中までしか画像がついてきてくれない感じです) 方法としては、2.pngの表示開始位置を<div id="header"></div>より下に位置指定すれば うまくいくのかなと思ったのですが、書き方がわからず。。。 なにかうまくいく書き方はないでしょうか・・? もしくは上記の方法以外でも、実現できそうなやり方や、 参考になりそうなサイトがあればお教えいただきたいと思っています。 ちなみに、私が参考にさせていただいたサイト様はこちらです。 http://www.webopixel.net/javascript/350.html わかりにくい点がありましたら、補足いたします。 どうぞよろしくお願いいたします。

  • フッター固定時のdivの背景について

    フッターを画面下部に固定するため以下のようなHTMLを書きました。 フッターは固定できたのですが、コンテンツの量が少ないと背景が途中で途切れてしまいます。 コンテンツの量が少なくても背景を下まで(フッターの上まで)表示させるために何かよい方法はありますでしょうか? <style type="text/css"> <!-- html, body { height: 100%; margin: 0; padding: 0; text-align: center; } #container { min-height: 100%; height: auto !important; height: 100%; position: relative; } #screen { width: 100%; text-align: left; padding-bottom: 100px; } #contents{ margin: 0 auto; width: 50%; background:Khaki; } #footer { height: 100px; width: 100%; position: absolute; bottom: 0; background-color: #7EC4E6; } --> </style> </head> <body> <div id="container"> <div id="screen"> <div id="contents"> コンテンツ </div> <div id="footer">footer</div> </div> </div> </body> </html>

    • ベストアンサー
    • HTML

専門家に質問してみよう