- ベストアンサー
フレームページのタグについて。
自分のホームページのメニューにフレームページをつくりました。このフレームページのボディにもう一個フレームページを作ることってできますか?試しにやってみたんですが、うまく表示されません。どうやらtarget=bodyってやつが二つ目のフレームのボディを指しているのに、一つ目のフレームのボディとかぶってしまうからだと思うのですが・・・。説明がうまくできなくて申し訳ないのですが、もしわかる方、サイトを知っている方、いらっしゃいましたらお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
<html> <frameset rows="300,*" frameborder="no" scrolling="auto" border="0"> <frame name="上" src="任意のファイル名1.html" noresize> <frameset cols="400,*" frameborder="no" scrolling="auto" border="0"> <frame name="左下" src="任意のファイル名2.html" noresize> <frame name="右下" src="任意のファイル名3.html"> </frameset> </frameset> <noframes> <center> あなたのブラウザはフレームに対応していません。<br> フレーム対応のブラウザをお使い下さい。 </center> </noframes> </html> ※間違ってたらゴメンナサイm(__)m
その他の回答 (4)
1)いったん、上フレームと下フレームに分ける 2)下フレームで表示される各ページで、さらにフレームを切る こうしておけば、上ページの各項目をクリックしたときに下フレームの内容が一気に切り替わるので、左側のメニューだけが切り替わって右側のコンテンツは以前のまま、という事態は裂けられると思います。具体的には↓のような感じでどうでしょう。 各項目の数値などは適当なので、修正してください。 1)初期画面 <frameset rows="200,*"> <frame src="ue.html"> <frame src="shita.html" name="shita"> </frameset> 2)上ページからのリンク(例) <a href="nikki.html" target="_shita"> 3)下ページ(例、nikki.html) <frameset cols="30%,70%> <frame src="nikki_menu.html"> <frame src="nikki_contents.html"> </frameset>
お礼
まず初期画面っていうのがどこだかわからずつまずいてしまいました・・・。すいません、バカで・・・。けれど、解決しました!ありがとうございました!
- Joh_Taka
- ベストアンサー率76% (222/292)
┏━━━━━┓ ┃ A ┣━┳━━━┫ ┃B ┃ C ┃ ┃ ┗━┻━━━┛ ↑かなり表示がズレていると思いますが、Aの部分がコンテンツ全体のMenuのFrame、左下がコンテンツの詳細MenuのFrame、右下がコンテンツ内容を表示するFrame。 ・・・のつもりで描きました。 サイトのデザインを全てこのように3分割したFrameにしたいのでしたら、既に-UkeyUkey-さんのご名答通りですので、補足説明の必要も無いかと存じます。 もし仮に、Aにあるリンクボタンの選択によっては、AのMenuのFrameだけ残して、B、CのFrameを解除してB+C分のスペースに1枚のHTMLを表示させたい。 Aにある複数のリンクボタンの選択によっては、B C部分がFrameのときと、Frame以外のときの両方あり得る。 と言うのでしたら、上下2段に分割したFrameを定義するHTML、(一例として・・) <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> <html> <head> <meta http-equiv="content-type" content="text/html;charset=shift_jis"> <title>AとB+Cを分けるFrame定義のHTML</title> </head> <frameset rows="100,*" frameborder="no"> <frame name="Main Menu" src="A.html" noresize scrolling="no"> <frame name="Body" src="B+CのFrame定義.html" noresize scrolling="no"> <noframes> <body> Frameに対応したブラウザで見てね。 </body> </noframes> </frameset> </html> を作成して、 <frame name="Main Menu" src="A.html" noresize scrolling="no"> のリンク先となるA.htmlを通常のページを作る要領で作成します。 <frame name="Body" src="B+CのFrame定義.html" noresize scrolling="no"> のリンク先となるB+CのFrame定義.htmlは、左側のコンテンツの詳細MenuがあるBのFrameと、コンテンツ内容を表示するCのFrameを定義したHTMLとなります。 その一例として・・ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> <html> <head> <meta http-equiv="content-type" content="text/html;charset=shift_jis"> <title>BとCを分けるFrame定義のHTML</title> </head> <frameset cols="100,509" frameborder="no"> <frame name="B" src="B.html" noresize scrolling="no"> <frame name="C" src="C.html" noresize> <noframes> <body> やっぱりこれもFrameに対応したブラウザで見てね。 </body> </noframes> </frameset> </html> これの <frame name="B" src="B.html" noresize scrolling="no"> のリンク先となるB.htmlと、 <frame name="C" src="C.html" noresize> のリンク先となるC.htmlを作成すれば、目的通りの表示が出来ると思います。 表示させるためには、最低5枚のHTMLが必要になります。 Frameのtarget指定についてもご質問されているようですが、Target先のFrame名を、 <a href="Cの2ページ目.html" target="C">Cに表示される2ページ目へのリンク</a> の様に正しく記述すれば問題ないかと思います。 説明が分かりにくいようでしたら、参考URLの方もご覧下さい。 「フレームの入れ子」と「タージェット・フレーム情報の設定」などが参考になると思います。
お礼
Joh_Takaさん、私には難しくてわからなかったものもあったけど、色々技を教えてくださってありがとうございました!無事解決しました。
先程はった参考URL http://020.chips.jp/tag/page/frame.html#4 の最左下のパターンでよいのでは? そこをクリックしIEであれば『表示』『ソース』をみて参考にして下さい。
お礼
ありがとうございます。ソースは表示してみたんですが、それをそのまま張ったら、一番上のメニューが2つ出ちゃいました。そこでFrameset rows="30,*" Frameborder="no" Scrolling="auto" Border="0"> <Frame name="ue" src="1.html" noresize>を消してみたら、それらしくなったのですが、Scrolling="no"にしてるのにスクロールバーは消えてくれないし、そのあとの左のメニューから飛ぶと、左のメニューがきえちゃうし、ぜんぜんわかりません。ファイルも1.htmlとか、どのファイルのことかもあやふやで・・。もしわかれば、説明をしていただくとうれしいのですが・・・。もしよろしかったらお願いします。
説明がわかりません。 ex)フレーム.htmlと右.htmlと左.htmlがあるとして… 右(もしくは左)に新しいフレーム.htmlを読み込みたいのですか? それとも右(もしくは左)を更に分割したいのでしょうか? ※私のもわかりにくい(笑)…かも?
補足
すいません・・・ えっと、まず上.htmlと下.htmlにわけました。 で、下.htmlを左.htmlと右.htmlにわけたいんです。 ちなみに上.htmlがホームページ全体のメニューで、下.htmlがそのメニューの内容(ボディー)になります。 そして、左.htmlがそのカテゴリのメニューになって、右.htmlに内容がきます。 具体的にいいますと、自分の作品をのせるホームページを作ろうとおもいまして、上.htmlにトップ、日記、作品、リンクなどのメニュー、下.htmlにその内容、その中の作品の内容を表示するのに、左.htmlに題名、題名をクリックすると右に作品の表示、ってかんじにしたいんですけど・・・。できますかねえ?
お礼
解決しました。結局、-UkeyUkey-さんのURLのタグと、メニューのリンクにtarget="右下"とつけたしたら解決しました。今まで、target="body"にしてたのがいけなかったみたいです。わかりづらい質問に答えていただき、ありがとうございました。 また、3回も親切に答えてありがとうございました。