フレームの枠組みとなる<frameset>要素についての解説です。
<frameset>要素とは、フレームの枠組みです。
縦方向または横方向のどちらかのフレーム分割の比率を指定します。
<frameset>要素はHTML 4.01及びXHTML 1.0のフレームセット文書型でのみ利用出来ます。
<frameset>要素はフレームモジュールに属します。
リンクスや携帯電話などフレームに対応していないユーザエージェントもある事は忘れないで下さい。
<frameset>要素は<head>要素(文書のヘッダ)の直後に直接記述します。
<frameset>要素の内容は以下のようになります。
尚、一番外側の<frameset>要素には、内容の先頭か末尾に<noframes>要素を記述します。
DTD上は<noframes>要素は<frameset>要素の内容として零個ないし一個必要とあり、書かなくても良いと読めない事もありませんが、これは「<frameset>要素内に一個必要」と書くと<frameset>要素を入れ子にした場合に二つ以上の<noframes>要素を書かなければならなくなるため、このような記述にせざるを得なかったからだと考えられます。
つまり、<noframes>要素は本来は必須だが、DTDの記述上の制約で必須と書けなかったと考えられます。
<frameset>要素には以下の属性が定義されております。
rows属性かcols属性でのフレームの高さ/幅の値は以下のようになります。
%単位(○○%)*または「数字*」*」は「1*」と同義です。*単位で指定されたフレームで山分けします。例えば、
<frameset rows="120,*,3*">
となっている場合は以下のようになります。
残りの領域を二番目と三番目で山分けします。
フレームに対応しない環境のために、必ず<noframes>要素でノンフレーム版を作って下さい。
フレームの幅や高さの決め方が悪いと、見るに堪えないサイトになってしまいます。
ウィンドウを切り刻む訳ですから、環境に依っては文書がフレームに入り切らなくなって、余計なスクロールが発生してしまうでしょう。
ウィンドウサイズを適宜小さくするなどして見難くならない事を確かめて下さい。
<?xml version="1.0" encoding="shift_jis"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><title>HTML入門</title>…</head><frameset rows="80,*"><frame id="title" name="title" src="TitleBar.html" /><frameset cols="*,7*"><frame id="menu" name="menu" src="Menu.html" /><frame id="main" name="main" src="Home.html" /></frameset><noframes><body><h1>HTML入門</h1><h2>目次</h2><dl><dt><a rel="next" rev="start" href="introduction.html">はじめに</a></dt><dd>平成18年 5月31日更新</dd>…<dt><a rel="bookmark" href="link.html">リンク</a> </dt><dd>平成18年 5月20日解説</dd></dl></body></noframes></frameset></html>
この場合、
その下には
それぞれ表示されます。