フレーム化
サイトの頁が増えてきたら、フレーム化する事を考えましょう。
フレームは、複数の頁に対するナビゲーションとして有効です。
但し、余り複雑なフレームはかえって解りにくくなりますから、程々にしておくと云うことも大事です。
まあ、2フレームが妥当で、3フレーム以上は避けるべきでしょう。
フレームは同時に複数頁を読み込み表示させるわけですから、余りフレームを増やすと、
表示動作が重くなってしまいます。
複数フレーム使いたいのであれば、フレーム内に別フレーム頁を読み込めば事足ります。
ですから2フレームより多くする必要は全くないのです。

とあるサイトで、6フレームなどと云うとんでもないものを見たことがありますが、
何がなにやら、サッパリ解らなくなっていました。
作った方も困ったのでしょう、直に作り替えられましたから・・・(^○^)

フレーム作りではは、フレームを定義する頁を1頁と、フレーム内に表示する頁を複数作ります。
古書目録の場合は、一行の記述が長くなるので、上下に分かれたフレームにし、
その他の場合は、左右に分かれたフレームにするのが普通でしょう。

《左右フレーム》
説明の都合上、最初に使うファイルの名前を決めておきます。

fa-main.htm…フレーム定義ファイル
fa-1.htm…左フレームに最初表示させる頁
fa-a.htm…右フレームに最初表示させる頁
fa-b.htm…右フレームに2番目に表示させる頁
fa-c.htm…右フレームに3番目に表示させる頁

1、フレーム定義ファイルのソースは次のようになります。
◎ fa-main.htm
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE>○○○</TITLE>
</HEAD>

<FRAMESET cols="20%,80%" frameborder="no">
<FRAME src="fa-1.htm" name="fa-left">
<FRAME src="fa-a.htm" name="fa-right">
<NOFRAMES>
<BODY>
<P>
フレーム対応のブラウザーでご覧下さい。
</P>
</BODY>
</NOFRAMES>
</FRAMESET>

</HTML>

中心となるのは、
<FRAMESET cols="20%,80%" frameborder="no">
<FRAME src="fa-1.htm" name="fa-left">
<FRAME src="fa-a.htm" name="fa-right">
の3行です。

<FRAMESET cols="20%,80%" frameborder="no">
…cols は左右分割の定義です。
…フレーム分割の割合を%で指定します。(ピクセル指定もできますがめんどくさい)
…左側が20%で、右側が80%、と云う意味ですが、数値は適当に変えます。

(注)
<FRAMESET cols="20%,*" frameborder="no">
と云う風に半角のアスタリスク(*)を使うこともできます。
これは、「20%」と「残り全部」と云う意味になります。
frameborder="no"の部分は、境界線を消すと云う意味で、これは記さなくてもいいのですが、
境界線があると煩わしい場合、消しておきます。

<FRAME src="fa-1.htm" name="fa-left">
…左側に最初表示される頁の指定です。
… fa-1.htm と云う名前のファイルを、フレーム名 fa-left の位置に表示しろと云う事です。

<FRAME src="fa-a.htm" name="fa-right">
…右側に最初表示される頁の指定です。
… fa-a.htm という名前のファイルを、フレーム名 fa-right の位置に表示しろと云う事です。

以上で、フレーム定義は終わりです。
他の頁からリンクを貼る場合には、このフレーム定義ファイルにリンクします。

次に、フレームのそれぞれに表示させるファイルを作ります。

fa-1.htm…左フレームに最初表示させる頁
普通は、この頁をナビゲーション用に使います。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<TITLE>○○○</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</HEAD>

<CENTER>
<TABLE border="1">
<TR><TD><A href="fa-a.htm" target="fa-right">fa-a</A></TD></TR>
<TR><TD><A href="fa-b.htm" target="fa-right">fa-b</A></TD></TR>
<TR><TD><A href="fa-c.htm" target="fa-right">fa-c</A></TD></TR>
<TR><TD><A href="index.html" target="_top">back</A></TD></TR>
</TABLE>
</CENTER>
</BODY>
</HTML>
取り立てて説明の必要はないでしょう。普通のHTML頁の作り方と一緒です。
ここでは整形のために、<TABLE>タグと<CENTER>タグを使っています。

リンクを貼るタグ
<A href="fa-a.htm" target="fa-right">
で、targetの部分が、フレーム定義ファイルで用いた、name="fa-right" に対応していれば良いだけです。

戻り先リンクのタグはtargetを、
<A href="index.html" target="_top">
の様にしておきます。これはフレームを解除するためです。

(注)
1行目に
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
が入っているのは、きちんとブラウザーに認識させるためです。
フレーム定義ファイルでは、これを入れていませんが、
フレーム対応ブラウザーはHTMLの4以降の仕様で、これ以前の場合には、正式には対応していないので、
入れなかったわけです。(正式にと云うのは、IE3.2等は対応していたからです)
代わりに「フレーム対応のブラウザーでご覧下さい」というコメントを付けています。
(まあ、今時対応していないブラウザー使う人はいないでしょうから、礼儀のようなものですね・・)

fa-a.htm
右フレームに表示する頁は、普通のファイルですから省きます。
《上下フレーム》
この場合も、基本的には同じです。
説明の都合上、最初に使うファイルの名前を決めておきます。

fb-main.htm…フレーム定義ファイル
fb-1.htm…上フレームに最初表示させる頁
fb-a.htm…下フレームに最初表示させる頁
fb-b.htm…下フレームに2番目に表示させる頁
fb-c.htm…下フレームに3番目に表示させる頁

1、フレーム定義ファイルのソースは次のようになります。
fb-main.htm
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE>○○○</TITLE>
</HEAD>
<FRAMESET rows="20%,80%">
<FRAME src="fb-1" name="fb-up">
<FRAME src="fb-1" name="fb-down">
<NOFRAMES>
<BODY>
<P>
フレーム対応のブラウザーでご覧下さい。
</P>
</BODY>
</NOFRAMES>
</FRAMESET>

</HTML>

基本的に変わりません。
フレームの上下分割の定義が、
<FRAMESET rows="20%,80%">
の様に、colsではなく、rowsを使うだけです。
(余話)
HPB2000やHPB2001では、フレーム作りに、ウィザードを使うようになりましたが、
実はこれはゴチャゴチャしててかえって解り難い。
HPB3.0のフレームエディターの方が使いやすかったと感じます。
HPB2000や2001を使われている方は、一応ウィザードでフレーム定義ファイルを作成し、
ここに記したソースを参考にして、ソースの書き換えすると、良いのではないかと思います。
勿論、ここで記したソースを、そのままコピーしてもOKです。

「the古書」を最初に立ち上げた時、index頁からフレームを使ったのですが、
検索ロボットや、オートパイロットソフトなどでは、フレーム頁の読み込みや、リンク検出は、
大抵の場合苦手な事が多く、今ではindex頁にはフレームを使っていません。

top頁はノンフレームで作るべきです。
フレームを使うのは、top頁以外にした方が無難です。
目録頁をフレーム化する場合にも、目録一覧頁をノンフレームで別途作成し、
top頁にリンクしておいた方が良いと思います。