![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
HP制作をしているのですが…
少々デザインを凝ってみようかなー、と考え、
背景の2重設定を思いついたのですが、どうしても表現できないのです。
私が言う背景の2重設定とは…
背景Aと背景Bがあり、背景Aは固定されているのですが、背景Bは画面中央に表示される-というものです。
画面をスクロールをしても背景Bは常に画面中央に表示されていて背景Aの上に背景Bは存在する-という形になっております。
私が試したhtml・cssを以下に記載したいとおもいます。
<html>
<head>
<title></title>
<style type="text/css">
body{
background-image: url(B.jpg);
background-repeat: no-repeat;
background-attachment: fixed;
background-position: center center;
}
</style>
</head>
<body background="sozai/haikei/A.gif">
<table width="100%" height="1500" border="0" cellpadding="0" cellspacing="0">
<tr><td>
</td></tr></table>
</body>
</html>
-とこのような形になっております。
背景Aを透過gifを用いて背景Bを表示させようと試みたのですが、画面全体に透過gifを用いるとスクロール時に読み込みに時間がかかって…大変ユーザーに見にくくなってしまいました。
質問の回答の程、どうかよろしくお願いいたします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
質問に記述してあったHTMLを元に書き換えてみました。
HTML準拠の記述に関しては、前の人の回答を参考にして下さい。
<html>
<head>
<title></title>
<style type="text/css">
body{background: url(sozai/haikei/A.gif) 50% 50% no-repeat fixed;}
#bk_B{
position:absolute;
top:50%;
left:50%;
width:300px;
height:300px;
background:url(B.jpg) 50% 50% no-repeat;
margin-top:-150px;
margin-left:-150px;}
</style>
</head>
<body>
<div id="bk_B">
<p>テキストサンプル</p>
</div>
</body>
</html>
絶対配置を使って配置させました。
各プロパティの数値に関しては
「B.jpg」の画像のサイズが分からなかったので
縦横両方とも300pxの画像でテストしたものです。
画像のサイズは
width:300px;
height:300px;
で指定します。「300px」をご自分の画像のサイズに置き換えて下さい。
また、「margin-top」と「margin-left」で
画像が常に画面中央に表示されるように設定してあります。
margin-top:-150px;
(画像の縦幅を2で割った数値をマイナス値に)
margin-left:-150px;
(画像の横幅を2で割った数値をマイナス値に)
このような感じでいかがでしょうか?
解決するとよいのですが…
No.3
- 回答日時:
補足ありがとうございます。
高さを1500pxで指定した場合、背景は下に行ってしまって
ウィンドウの中央には常に表示されないですよね・・。
やりたい感じとしてはこんな感じ↓でしょうか?。
http://harmony.blog5.fc2.com/h/harmony/file/cent …
一度、このサイト↑とNo.2のCSSを参考にして
試行錯誤していただいてもよろしいでしょうか?
すみません、明日の昼頃まで時間このサイトを見れなくなりそうなので...○rz
参考URL:http://harmony.blog5.fc2.com/blog-entry-87.html
No.2
- 回答日時:
No.1の回答で背景Aと背景Bを間違って書いてしまいました。
すみません...○rztableの高さが1500でなくてもよいのであれば出来ます。
高さを100%にします。
一つの要素(この場合body)に指定できる背景画像は、ひとつです。
なのでスタイルシートで以下のように記述します。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<style type="text/css">
<!--
html{
background-image:url(A.gif);
}
body{
background-image:url(B.gif);
background-repeat: no-repeat;
background-position: center center;
height:100%;
}
div#test{width:100%;height:100%;}
-->
</style>
<title></title>
</head>
<body>
<div id="test">
<p>テストだよ</p>
</div>
</body>
</html>
ただし、DOCTYPE宣言が標準準拠モードの場合のみ有効な手段ですのでDOCTYPE宣言を以下のように↓
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">(別窓)
詳しくは参考URLを参考にしてください。
#<body background="">はHTML4.01では非推奨とされています。スタイルシートで指定することをお勧めします。
参考URL:http://www.stylish-style.com/csstec/hi-level/dou …
No.1
- 回答日時:
補足要求です。
tableの高さが1500になっていますが、
1500を基準とした中央ではなく、ウィンドウの中央に
背景Aを表示させるようにしたいということでしょうか?
スクロールすると、スクロールに合わせて背景Aが動いて
ウィンドウの中央にこさせたいということですか?
この回答への補足
ご丁寧な回答どうもありがとうございます!
大変分かりやすい解説でした。
htmlを記載してくれ、更に注意点も述べていただけるとは-感謝の極みです。
<body background="">は知らなかったので修正しようとおもいます。
参考URLも大変参考になりました。
これで背景の2重設定ができる…っ!
補足としましては、
tableの高さを1500に指定したのは特に意味はありません。
スクロールをした時のテスト用の為、画面より大きめにサイズを指定しただけです。
仰る通り、スクロールにあわせてウィンドウの中央に画像が表示される、という形です。
背景Aが動く…というよりも、
・背景Aはブラウザ上は動かない。
・背景Bが画面中央に位置しており、スクロールをして も背景Bは画面の中央から動かない
・背景Aの上に背景Bが表示される
-という形を希望しております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- HTML・CSS CSSでサイトの背景に画像を組み込みたいのですが反映されません 2 2022/11/22 16:21
- Windows 10 zoomで自分の顔の背景 3 2023/06/07 22:34
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- その他(ブラウザ) zoomのバーチャル背景が選べない 4 2022/12/08 12:38
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS PCサイズで赤い画像2つと、青い画像2つがそれぞれ横に2つずつ並んでいるのですが、これをスマホサイズ 5 2022/04/11 12:01
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<hr>の縦バージョンはありますか?
-
下にスクロールしても、追従す...
-
background-sizeの背景で最小値...
-
画像の上にテキスト配置で、拡...
-
画像上に文字を表示するとiPhon...
-
【Webサイト】画像が小さく表示...
-
【至急お助け!】チェックボッ...
-
ホームページのバックのスクロ...
-
CSSで背景画像をランダムに表示...
-
背景を固定し文章だけをスクロール
-
<ul>タグの上の空白って消せま...
-
背景部分を透けさせてデスクト...
-
ホームページの背景画像を画面...
-
ホームページ「メニューボタン...
-
WEBサイトのメニューバーを画像...
-
CSSのhoverを使ってアイコン画...
-
コーディング中、右側に謎の余...
-
フォームに画像を入れる方法を...
-
不定形画像の背景画像設定
-
ページごとに背景画像を変更し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<hr>の縦バージョンはありますか?
-
画像とその下にあるテキストの...
-
lightbox2で画像を天地左右中央...
-
画像の上にテキスト配置で、拡...
-
background-repeat CSS で切れ...
-
【Webサイト】画像が小さく表示...
-
IMGタグで画像の繰り返し使用は…
-
background-sizeの背景で最小値...
-
同じ画像 複数回使用
-
【至急お助け!】チェックボッ...
-
iframe内をクリックさせない方...
-
htmlかcssで背景の白い枠をなく...
-
background-sizeでcontainする...
-
CSSで背景画像をランダムに表示...
-
ページごとに背景画像を変更し...
-
画像上に文字を表示するとiPhon...
-
LightBoxの矢印の出し方
-
WEB上でディレクトリ内の画像を...
-
submitボタンの上に重ねた画像...
-
CSS マウスオーバーでテキスト...
おすすめ情報