どこかのページで画面内が2つに分かれてるところがあったんだけど、私もやってみたいなぁ。いちいちもくじのページに戻らなくても他のページに行けたりして、見てくれる人も便利だろうと思うし・・・。 |
|
そのページは「フレーム」を使ってるんだよ。教えてあげるね。
|
フレームを使っているHPを作る場合、「画面を分割させるHTMLファイル」と「分割した画面内に表示するHTMLファイル」が必要です。例えばブラウザの画面を二つに分割するフレームにしたい場合は、「画面を分割させるHTMLファイル」一つと「分割した画面内に表示するHTMLファイル」をウインドウの数だけ(二つ)の合計3つ以上のファイルが必要になります。 まずはブラウザの画面を二つに分割するフレームを作ってみましょう。用意するファイルは以下の通りです。 ★ここで注意してください。
|
スケッチで描いたんだけど、こういう風に縦に分けたいんだ。 |
|
じゃあまずは「画面を分割するファイル」の基本のタグを教えるね。 |
まずは「画面を分割するファイル」の基本を見てみましょう。 |
<html> |
見てわかるとおり、ここでは「body」タグを使わずに<frameset>というタグが使われていますね。このタグがフレームの分割方法を指定するタグです。「cols=」は縦に分割する際の幅のサイズ指定で、ピクセル指定・%指定が可能です。どちらも分割するサイズをカンマ(,)で区切って指定します。サイズ指定時に、「左フレームは100ピクセル固定で、右フレームはウインドウサイズにあわせて変動する」と言う指定もできます。その場合は「"100,*"」という風に、変動可能なフレームの指定には「*」を記入します。 そのあとにある、<frame>タグはフレームの中で表示する「HTMLファイル」を指定し、各フレームに名前をつけます。「src="このフレーム内に表示するHTMLファイル" name="このフレームの名前"」と指定します。フレームの名前は自由に決められます。自分で判りやすいように、「left」「right」などと付けてもOKです。「name」を忘れるとフレームにきちんと表示されないので、忘れないように気をつけましょう。 |
これはそのまま使えるね。「index.html」で保存。いままで「index.html」として使ってたトップページは「top.html」で名前を変えて保存してあるから大丈夫だよ。 |
|
ばっちりだね。 |
これを横フレームにするにはどうしたらいいの? |
|
横にしたいときは、「cols=」を「rows=」に変えるだけだよ!
(フレームの位置関係がわかりやすいように、ここではフレームの名前も「top」と「under」に変更してあります) |
<html> |
「画面を分割するファイル」の中に文章を書いても、ブラウザでは表示されないの? |
|
そうだよ。これは画面を分割するためだけにあるファイルだからね。つまりこのファイルはこれからHPを作る上で(更新の時も)一度作ったら変更することはないんだよ。 |
|
フレームのサイズや縦や横の分割を変えたいとき以外は、ノータッチなんだね。 |
|
表示させるページだけ更新すればいいんだよ。
|
分割するファイルのタグの書き方はわかったよ。表示するファイルも特別なことがあるの? |
|
基本的には今まで作ったものと変わりはないけれど、ウインドウが分割されているから、リンクを張るときに、分けたフレームの中のどのフレームにジャンプするのかを指定しなくちゃいけないよ。 |
次に目次を例に、「フレームに表示させるファイル」の説明します。 |
<html> |
1部分だけ変わっていることに気が付きましたか?リンクを張るときのタグ<a href>の中に「target=」という指定が追加されています。「target」とは、リンク先のページをどのフレームに表示させるかを指定するタグです。先ほどつけたフレームの名前で指定します。ここでは「under」と指定していますから、下のフレームにリンク先のページが表示される事になります。 ●「target=」のタグはフレームの時以外でも利用方法があります。 |
<a href="top.html" target="_blank">新しくウィンドウを開きます。</a><br> |
これは、フレーム使用時に限らず、自分のページから他の人のホームページへリンク(絶対リンク)させるときに使うと便利です。 |
じゃあ実際に作ってみようか。 |
|
えーと、「画面を分割するファイル」はさっき作った縦のヤツを使おう。あとは、目次を作らなきゃ。ファイル名は「mokuji.html」。 |
<html> |
他のページはそのままで大丈夫だよね?
|
今は2つに分けるだけで充分だけど、ウインドウって、もっと分割できるの?
|
|
できるよ。 |
フレームはいくつにも分けることができます。<frameset>で挟まれた部分をひとつの分けられたウインドウと考えて、もうひとつ<frameset>のタグを入れることで、縦と横の組み合わせができます。 |
<html> |
<html> |
ぼくもフレームでページ作ったよ!すごいだろ! |
|
何かごちゃごちゃしてて見にくい〜。 |
|
これじゃあ、せっかくの便利なフレーム機能がうまく活かせてないね。もうちょっとシンプルにしてみたら? |
|
ちぇ、一生懸命作ったのになぁ。
|
ホームページを見やすくするために便利なフレームですが、分けすぎると逆に見難くなるので、注意しましょう。 |