• ベストアンサー

widthが可変のブロック要素で、常に中央から右部分だけに、背景画像を

widthが可変のブロック要素で、常に中央から右部分だけに、背景画像をrepeat-xしたいのですが、どうすればよいでしょうか? background-positionを使えば何とかできるかと思ったのですが、うまくいきません。 「widthが可変」 「常に中央から右部分」 「背景画像をrepeat-x」 この組み合わせ方をcssで実現できる方、もしいれば教えてください。

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

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

<style type="text/css"> #WRAPPER{ padding-left:50%; background:#0000cd; } #WRAPPER div{ background:yellow; } #WRAPPER div div{ margin-left:-100%; background:none; } </style> <div id="WRAPPER"> <div> <div>内容</div> </div> </div>

re999
質問者

お礼

ありがとうございました。 それにしても、このCSS凄いですね。 これからいろんな場面で使ってみたいと思います!

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

その他の回答 (2)

  • yuu_x
  • ベストアンサー率52% (106/202)
回答No.3

> 2 それでいこう。 なんてこった。 position と repeat を同時に指定すると、position で指定した場所を基点にして repeat 結局全体に表示される。 CSS 3 でもその辺の変更はないみたいだね。

re999
質問者

お礼

>position と repeat を同時に指定すると、position で指定した場所を基点にして repeat 結局全体に表示される。 検証ありがとうございます。これなんでかな? と自分も思ってたんですけど、基点から右だけではなく全体に repeat されるってことなんですね。ああ、なるほど。ようやく、なんでこんな表示になるかの意味が分かりました。

全文を見る
すると、全ての回答が全文表示されます。
  • yuu_x
  • ベストアンサー率52% (106/202)
回答No.1

xxx { background : transparent url(***) repeat-x scroll 50% 0; }

re999
質問者

お礼

すいません。前提条件説明追加させてください。 上記+左半分は、「background-color:#0000CD;」としたいです。

re999
質問者

補足

このやり方を実際に試してみると、50%が有効とならず、ただのrepeat-xだけになってしまいます。Firefox3.6.10とIE8で試しました。それとも何かこちらの設定が間違っているのでしょうか? どなたか、xxx { background : transparent url(***) repeat-x scroll 50% 0; }で、 「widthが可変」 「常に中央から右部分」 「背景画像をrepeat-x」 となるか、試していただけないでしょうか?

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

関連するQ&A

  • 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
  • ブロック要素の右下寄せ

    添付されている画像のように、Aブロック要素内の右下にBブロック要素を配置したいです。 下記の記述だとFFではきちん表示されるのですが、IEでは表示すらされません。 どうしたらよいでしょうか? *htmlの記述 <div id="box-a"> <div class="box-c"> <h2>見出し</h2> <p>内容</p> </div> <div class="box-c"> <h2>見出し</h2> <p>内容</p> </div> <div id="box-b"> <p>内容</p> </div> </div> *CSS #box-a{ margin:0; padding:50px 0; position:relative; background-image:url(../img/box-a.gif); background-repeat:no-repeat; background-position:left bottom; } #box-c{ margin:20px 120px 0px 200px; padding:10px; background-image:url(../img/box-c.gif); background-repeat:no-repeat; } #box-b{ position:absolute; right:0; bottom:0; margin:0; padding:0; width:150px; height:150px; background-image:url(../img/box-b.gif); background-repeat:no-repeat; }

    • ベストアンサー
    • 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でBody要素への背景画像(san.jpg)の配置を以下の設定で

    CSSでBody要素への背景画像(san.jpg)の配置を以下の設定でしてみました。 Dreamweavercs4でのデザインモードとIE7のプレビューでは 画面中央に配置されて見えますが、safariとfireFox3.6.2では添付画像のように 画面上部に画像の下半分だけが表示されます。 これはどうしてなのでしょう? それとFirefoxでも上下左右中央に表示されるようにするには どうしたらよいのでしょう? ご存知の方がおられましたら、ご教示ください。 ※ディスプレイ解像度1280×1024 背景画像サイズ592px × 568px ~~~~~~~~~~~~~~~~~~~~~ body { background-image: url(sun.jpg); background-repeat: no-repeat; background-position: center center; } ~~~~~~~~~~~~~~~~~~~~~

    • ベストアンサー
    • HTML
  • 背景とブロック要素をブラウザの中央に配置するには?

    ウインドウサイズを変更させても、背景画像とブロック要素の中心を基点として合わせておくことは、CSSだけで可能でしょうか? (添付画像参照) あるいは2つのブロック要素を、中央でなく中心を基点として揃えることはできるでしょうか?

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

    背景画像の位置を固定し、背景画像の上に表示している画像を常に中央に表示するようにしたいと思ったのですが、背景画像も常に中央に表示されてしまいます。 そのため、上記の現象の対処法について何かご教示いただける方がいらっしゃいましたら、よろしくお願いします。 【やりたい事】 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
  • ブログのタイトル背景部分に画像を入れたいのですが…

    gooブログのカスタムメタルを使用しています。 タイトル部分に画像を入れていたのですが突然見れなくなってしまいました(以前は正常に表示されていました) /* /ページ全体共通指定*/ /* ブログのタイトル部全体の背景(デフォルトは画像使用) */ .header { height: 180px; background-image: url(画像のURL); background-attachment:fixed; background-repeat:no-repeat; background-position:left; } 頻繁にいじっていたのでどこか間違えているかもしれません。 が、何度見てもどこが間違ってるか自分ではサッパリわからなくなってしまいました; よろしくお願いします。

  • HPビルダー7でアップしたが左寄りに表示される

    たくさんググりましたが分からないので質問させてください。 HPビルダー7でFC2にサイトをアップロードしたんですが、 背景画像、コンテンツなどすべてが左よりに表示されてしまいます。 背景画像だけでも中央にと思い、以下のように、 background-position : center;のみを追加しました。 BODY{ background-repeat : no-repeat; background-position : center; } div{ width:800px; / margin-right: auto; margin-left: auto; } するとやはり、背景画像だけが中央にあり、 画像やテキストは左よりです。 画像やテキストによってはあえて中央に置きたくないのもありますので、 コンテンツ全体(もちろん背景画像も)を中央にするにはどうしたらいいでしょか? HTML、CSSはある程度理解できます。 回答をよろしくお願いします。 使用アプリなど: ホームページビルダー7 Google Chrome Vista

  • 背景画像を任意の位置に置きたい

    こんにちは、Santaと申します。 いつもお世話になっております。 Firefox 8.0 Chrome 16.0 背景画像を任意の位置に置きたいです。 画像のとおりです。 背景画像の大きさは width:950px; height:800px; です。 左右にオレンジ色の矩形を置いております。オレンジの矩形の間の白いところは、白の矩形です。 左右では、center真ん中に来るように、上からは200px;の位置に置きたいと思っております。 自分の書いたCSSでは、絵柄が少し表示されるだけで、全体の画像も表示することができませんでした。 css --------------------------------- body { background-image:url(../images/background_line_wall.gif); background-position:50% 50%; background-repeat:no-repeat; } ----------------------------------- どのように書きましたら、上から200pxの位置へ、左、右からは中央へセンタリングできますでしょうか? よろしくお願いいたします 失礼致します。

    • ベストアンサー
    • CSS
  • 背景画像をCSSコードで半透明にしたいのですが・・

    背景画像をCSSコードで半透明にしたいのですが・・ 考えたコードはこのようです。 #sub{ background-image: url(背景画像); background-repeat: no-repeat; background-position: center center; float:left; filter:alpha(opacity=50) opacity:0.5; width:540px; /* D */ height:300px; } これだと背景を半透明にはできませんでした。 どのようにすればいいですか?

    • ベストアンサー
    • HTML