• ベストアンサー

HTMLについて

いま、ホームページを作っているのですが、背景に画像を入れたいときは <BODY BACKGROUND>って言うのを入れなきゃいけませんよね。 今フレームを作ろうと思っているのですが、フレームタグが、BODYの代わりになっているって書いてあって、BODYをいれてフレームタグを入れても、何も反応しません。フレームで分けた両方に画像を入れたいんです。どうすればいいでしょうか? タグを教えてください。よろしくお願いします!!

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

  • ベストアンサー
  • wyvern0
  • ベストアンサー率32% (54/165)
回答No.4

フレームを2つに分けて、その両方に同じ画像を背景として使うんですよね? ファイルの構成としてはフレーム1に表示するファイル、フレーム2に表示するファイル、フレーム分割するファイルの3個になります。 フレーム無しの状態で背景に画像を表示できていることを前提に説明します。 まず、フレーム1用、フレーム2用のHTMLファイルを作ります。 ここではフレームは意識せず、BODYタグの中で背景を指定してください。 2個のファイルができたら、こんどはフレーム分割です。 フレーム分割するファイルは、自分では何も表示せず、分割した先に表示する ファイル名の指定を行います。 そのためBODYタグは必要ありません。 (ただし、フレームに対応していないブラウザ用の記述をする場合は必要になります。) サンプルを記述しておくので、参考にしてください。 <HTML> <FRAMESET COLS="50%,50%"> <FRAME SRC="フレーム1.html" name="フレーム左側"> <FRAME SRC="フレーム2.html" name="フレーム右側"> <NOFRAMES> <BODY> <P>フレームに対応していません。 </BODY> </NOFRAMES> </FRAMESET> </HTML> こんな感じでいかがでしょうか。

djmasa777
質問者

お礼

回答どうもありがとうございます!!

その他の回答 (4)

  • uduki4
  • ベストアンサー率42% (69/163)
回答No.5

フレームで分けたページにそれぞれ画像を入れたいのですね。 1つの画像をそれぞれに入れたいのなら、まず、 フレームをきちんと分ける必要があります。 例で上げるのなら、 index.htmlは、 <html> <head> <title>index</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <frameset cols="100,*" border="1" framespacing="1" rows="*" bordercolor="#000000"> <frame name="leftFrame" scrolling="NO" noresize src="a.html"> <frame name="mainFrame" src="b.html"> </frameset> <noframes><body bgcolor="#FFFFFF" text="#000000"> </body></noframes> </html> で、 これは、 "leftFrame"(a.html)に100ピクセル幅を持たせて、 "mainFrame"(b.html)にその残りをと言うものです。 これは見やすいように、ボーダー幅を1ピクセルに、ボーダーの色を黒にしました。 そして、 そしてフレームで分けたページを書きますと。 a.htmlが、 <html> <head> <title>A.html</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <STYLE TYPE="text/css"> <!-- body { background-image:url("***1.jpg"); background-attachment:fixed ;} --> </STYLE> </head> <body background="***1.jpg"> </body> </html> で、 b.htmlが、 <html> <head> <title>B.html</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <STYLE TYPE="text/css"> <!-- body { background-image:url("***2.jpg"); background-attachment:fixed ;} --> </STYLE> </head> <body background="***2.jpg"> </body> </html> となります。 バックに画像を入れたいのでしたら、 それぞれの(この場合は、a.html・b.html)<body background=*****>にはそれぞれ"***1.jpg""***2.jpg"となっている事を確認してください。 これは、JPEG画像を"leftFrame"(a.html)は、100ピクセルで、切った物(画像編集ソフトでやって下さい。色々とありますので、Winならペインターがついていますし、Macならば・・・ちょっと忘れました・・・)を、 "***1.jpg"として、"a.html"にはったもので、 当然、その残りを"mainFrame"(b.html)に"***2.jpg"としてはったものです。 何も書かれていなかったのですが、 この場合、 動くとおかしくなりますので、 スタイルシートで固定しておきました。 その際は、<body>タグに書いてある「background="****.jpg"」入りませんので消しておかれることを書いておきます。 と言う具合です。 ちょっと分りづらいかもしれませんが、そのときは補足でも、質問でもかまいませんのでして下さい。 喜んで回答させていただきます。(私の分る範囲でならと言う制限付きですが・・・) では、良いホームページを作られることを願っています。

djmasa777
質問者

お礼

回答どうもありがとうございます!!

回答No.3

フレームの中に入れるページはもう作ってありますか? そのページの背景の設定はどうなってますか? フレームだけあっても中のページが無かったり、表示させるページを設定してなければ真っ白です。 フレームだけあってもだめです。

djmasa777
質問者

お礼

回等どうもありがとうございます!!

  • justy
  • ベストアンサー率0% (0/3)
回答No.2

はじめまして。 <body background>はDeprecatedとなっているため、現在でしたらスタイルシートを用いた方が良いと思います。 <head>部に <meta http-equiv="Content-Style-Type" content="text/css"> <style> <!-- body {background-image:url("****.jpg") ;} --> </style> を追加し、bodyを通常通り記述すれば良いです。 で、本題ですが、フレームの親というか<frameset>を記述してあるhtmlに、body句を記述されていますよね? それをはずすとうまくいくと思います。

djmasa777
質問者

お礼

回答どうもありがとうございます!!

  • KODAMAR
  • ベストアンサー率26% (267/1006)
回答No.1

フレームの中にそれぞれ画像を指定すればいいのでは? たとえばTOPページがフレーム設定してあって、左右に分かれていたのなら (それぞれ「hidari.html」「migi.html」) hidari.htmlとmigi.htmlのソースの中に <BODY BACKGROUND="***"> とすればいいのではないでしょうか?

djmasa777
質問者

お礼

回答どうもありがとうございます!!

関連するQ&A