WWW を大きく変えたと言っても過言ではないフレーム化は,フレームの分割をするための HTML と,フレーム内に表示される HTML の,いわば二人三脚で実現される。まずは,フレーム分割の HTML を紹介する。フレーム化は Internet Explorer 2.0 ではサポートされていない。
フレーム分割の HTML の書式は今までの HTML とは体裁を異にする。
<HTML> <HEAD> <TITLE>〜</TITLE> </HEAD> <FRAMESET> ...... <NOFRAMES> <BODY> ...... </BODY> </NOFRAMES> </FRAMESET> </HTML> |
およそ見当がつくようにフレーム分割を行う HTML では本文 <BODY> のかわりに <FRAMESET>〜</FRAMESET> が中心となる。フレーム分割が可能なブラウザに対しては,この HTML はただ分割が指示されるだけで本文の表示などはいっさいない。
また,世に出回っているブラウザはすべてフレーム分割に対応しているわけではない。そういったブラウザのために <FRAMESET> の中で <NOFRAMES>〜</NOFRAMES> で代替の本文を表示させる。ここに,
このページはフレーム対応ブラウザでご覧ください。
とだけ書いて NCSA Mosaic(比較的古い,一時 WWW の代名詞ともなったブラウザ:現在フレームには対応していない)などを拒否するページもある。だが,そういったブラウザのためにも,フレームなしでもひととおりブラウズできるような措置を講ずるべきである。あなたのページにアクセスしてきた人はあなたのお客様であることを忘れてはならない。
さて,フレームの分割の方法であるが,まず,「分割の方法」を <FRAMESET> の属性として書くことから始める。
COLS="..." | 横方向の分割。フレームの幅を左からカンマで区切って並べる。 |
ROWS="..." | 縦方向の分割。フレームの高さを上からカンマで区切って並べる。 |
幅や高さはピクセルまたはパーセント指定。また,「残り全部」をアスタリスク "*" によって指定することができる。COLS と ROWS を同時に指定したときは十文字に分割されることになる。
例をあげると,
<FRAMESET COLS="100,*,15%">〜</FRAMESET> |
では画面が横に3分割される。いちばん左は幅 100ピクセル,いちばん右はブラウザ全体の幅の 15%,残りが真ん中となる。
分割を定義した <FRAMESET>〜</FRAMESET> の中には個々のフレームに関する情報を定義する <FRAME> タグを分割した数だけおく。<FRAME> タグは「ここに」の形をとる。このタグの属性がフレームの情報となる。
NAME="..." | フレームそれぞれの一意な名前を定義する。これは,<A HREF="..."> などで表示先のフレームを指定するのに使う。 |
SRC="..." | 実際にフレームに表示される HTML の URL。 |
SCROLLING="..." | フレームのスクロール・バーの表示/非表示を設定。yes(表示),no(非表示),auto(自動)から指定。 |
ほかにさまざまな属性がブラウザの拡張に伴って定義されているが基本的なものはこの3つである。
また,<FRAME> が入るべき場所を <FRAMESET>〜</FRAMESET> にすることでフレームをさらに分割することができる。この場合,高さ・幅はフレームの大きさが基準になる。これを用いることで,T字型の分割なども可能になる。とうぜん,再分割されたフレームのひとつひとつには <FRAME> で個別の情報を定義しなければならない。
おおよその書き方をつかんだところで次の Section ではその実際の利用を解説する。