<FRAMESET>はウィンドウをいくつかのフレームに分割する際に使用します。 ウィンドウをどのように分割するかを<FRAMESET>タグで指定し、 分割した各フレームにどのファイルを割り当てるかを<FRAME>タグで指定します。
画面を水平に分割する(横割りする)際には、rows属性を使用してフレームの高さを上から順に「,」で区切ってピクセルか%で指定します。 画面を垂直に分割する(縦割りする)際には、cols属性を使用してフレームの幅を左から順に「,」で区切ってピクセルか%で指定します。 また、水平分割と垂直分割を組み合わせる場合には <FRAMESET>~</FRAMESET>内に<FRAMESET>~</FRAMESET>を入れ子状に配置します。
例えば画面を左右に2分割する際、片方は幅100ピクセルで固定したいが、残りの部分は画面サイズに合わせて変動して欲しいということがあります。 このような場合には<FRAMESET cols="100,*">という具合に「*」を使用することで左側のフレームは画面サイズに合わせて変動します。
<FRAMESET>でウィンドウを分割する際には、 ウィンドウをどのように分けるかを指定するファイルが1枚と、分割する各フレーム数分のファイルが必要です。 例えば画面を左右に2分割する場合には、左右それぞれのファイル+1枚=計3枚のファイルが必要となります。
リンク先を別フレームに表示させたい場合には、 あらかじめ各フレームに<FRAME>タグのname属性で名前を付けておき、 <A>タグでリンク先を指定する際にtarget属性でリンク先フレーム名を指定します。
尚、ユーザーがフレームに対応していないブラウザを使用している場合や、フレームを表示しない設定にしている場合などに、 代わりに表示する内容を設定するには<NOFRAMES>タグを使用します。 フレームは便利な反面、ノートパソコン等の小さな画面では見づらいなど、いくつかの短所もあります。フレームを使用する際には若干の注意が必要です。
HTML5では、<FRAMESET>は廃止される予定です。 <iframe>やCSSに置き換えるか、 メニューなどの共通部分はサーバー側でインクルードすることが推奨されています。