戻る

フレームのはなし


☆フレームとは

フレームっていうのは、画面を分割して、例えば、メニューを上に表示して、 下にコンテンツを表示したりして、下の部分だけを切り替えていく方法です。

たとえばこんな感じに分割させることもできます。

メインメニュー
サブ
メニュー
本文


間の線を無くして分割されているのをわからないようにしたり、 スクロールさせないようにしたり、作り方によって結構いろいろできるようになってます。 それでは、実際の作り方の話に入っていきましょう。



☆フレームを作る

まず基本の2つに分割をしてみましょう。

上下分割見本(別窓で開きます)

左右分割見本(別窓で開きます)

2分割のフレームを作るためには、3つのファイルが必要になります。 フレームを定義するファイルと、それぞれ表示するファイルが2つ(例えばメニューと本文) の計3つです。 表示するファイルのほうは普通にこの前までのところで書いてきたタグで書けばOKなんですが、 フレームを定義するファイルはちょっと構造が違ってきます。 いままで「BODY」というタグを使っていたところが「FRAMESET」というタグになります。 基本は以下のとうりです。

<HTML>
     <HEAD>
         <TITLE>タイトル</TITLE>
    </HEAD>
    <FRAMESET   ROWS="50,*">
         <FRAME   SRC="menu.html"   NAME="top">
         <FRAME   SRC="content.html"   NAME="main">
    </FRAMESET>
</HTML>


まずで書いてある「ROWS」は上下に分ける時に使い、
左右に分けるときは「COLS」になります。

「ROWS="50,*"」 のの数字の部分は、分割したそれぞれのサイズを指定します。
間はカンマ(,)で区切ります。また、たてに3分割とか、よこに3分割なら、カンマで区切って 数字を3つ入れれば分割できます。
"20%,80%"は上(または左)を20%、下(または右)を80%にするという指定です。 ほかに"20%,40%,40%" など
ピクセル"100,500"は上(または左)を100、下(または右)を500にするという指定です。 ほかに"150,300,300" など
指定しない時に使用。"100,*"だと上(または左)を100にして、下(または右)を残り全部という指定になります。


次にFRAMEタグの中のSRC指定ですが、これは表示するページのアドレスです。 2つに分けるなら上の例のように2行、3つに分けるならもう一行増やしてください。 上から順に表示されます。(たて分割なら上、中、下。横分割なら左、中、右です。)

もう1つのNAME指定ですが、これは個々のフレームの名前です。 ここで名前を指定しておくと、リンクでTARGET指定すればリンクを左のフレーム、 表示を変えるのは右のフレームということができます。 なのでとりあえず、わかりやすい名前をつけておくといいと思います。



☆リンクの方法

通常リンクは<A   HREF="リンク先URL" >リンク先名称</A> という形で指定しますが、フレームでこの指定をした場合、リンクのあるフレームが 変わります。 例えばメニューの中にこのままリンクすると、メニューのところにリンク先が表示されます。
そこで<A   HREF="リンク先URL"  TARGET="main"> というようにTARGETを指定します。これが上で説明したフレームの名前です。

↓ここを開いてメニュー1を選んで見てください。
見本(別窓で開きます)





☆その他のTARGET

このTARGET指定はこの他に、
TARGET="_top"フレームを解除して画面全体にリンク先を表示します。
TARGET="_blank"別窓を開いてリンク先を表示します。

↓ここを開いて「top」「blank」を選んで見てください。
見本(別窓で開きます)





☆応用編

それでは今度はたてとよこ両方組み込んで分割してみましょう。
メインメニュー
サブ
メニュー
本文


<HTML>
     <HEAD>
         <TITLE>タイトル</TITLE>
    </HEAD>
    <FRAMESET   ROWS="50,*">
         <FRAME   SRC="mainm.html"   NAME="top">
        <FRAMESET   COLS="150,*">
             <FRAME   SRC="subm.html"   NAME="side">
             <FRAME   SRC="content.html"   NAME="content">
        </FRAMESET>
    </FRAMESET>
</HTML>

こんな感じになります。
見本(別窓で開きます)





どうでしたか?フレームの仕組み少しはわかってもらえましたか? フレームを使うと何がいいかといえば、メニューが増えたりしたときに、 メニューのファイルだけを直せばいいというのと、見る人が操作しやすいとか、 どこにいるかわからなくなりにくいとかいろいろあると思います。 あとは工夫でいろいろ試してみてください。





戻る