HTML

frameset要素

 frameset要素はウィンドウをいくつかのフレームに分割する際に使用します。ウィンドウをどのように分割するかを frameset要素で指定し、分割した各フレームにどのファイルを割り当てるかを frame要素で指定します。

 画面を水平に分割する(横割りする)際には、rows属性を使用してフレームの高さを上から順に「,」で区切ってピクセルか % で指定します。画面を垂直に分割する(縦割りする)際には、cols属性を使用してフレームの幅を左から順に「,」で区切ってピクセルか % で指定します。また、水平分割と垂直分割を組み合わせる場合には <frameset>~</frameset>内に <frameset>~</frameset>を入れ子状に配置します。

 例えば画面を左右に2分割する際、片方は幅100ピクセルで固定したいが、残りの部分は画面サイズに合わせて変動して欲しいということがあります。このような場合には <frameset cols="100,*"> という具合に「*」を使用することで左側のフレームは画面サイズに合わせて変動します。

 <frameset>でウィンドウを分割する際には、ウィンドウをどのように分けるかを指定するファイルが1枚と、分割する各フレーム数分のファイルが必要です。例えば画面を左右に2分割する場合には、左右それぞれのファイル+1枚=計3枚のファイルが必要となります。

 リンク先を別フレームに表示させたい場合には、あらかじめ各フレームに frame要素の name属性で名前を付けておき、a要素でリンク先を指定する際に target属性でリンク先フレーム名を指定します。

 尚、ユーザーがフレームに対応していないブラウザを使用している場合や、フレームを表示しない設定にしている場合などに、代わりに表示する内容を設定するには noframes要素を使用します。フレームは便利な反面、ノートパソコン等の小さな画面では見づらいなど、いくつかの短所もあります。フレームを使用する際には若干の注意が必要です。

使用例


<frameset rows="100,*">
	<frame src="frame_ue.htm" name="ue">
	<frameset cols="150,*">
		<frame src="frame_hidari.htm" name="hidari">
		<frame src="frame_migi.htm" name="migi">
	</frameset>
	<noframes>
	このページはフレームを使用しています。
	</noframes>
</frameset>

HTML5情報

 HTML5では、frameset要素は廃止される予定です。iframe要素やCSSに置き換えるか、メニューなどの共通部分はサーバー側でインクルードすることが推奨されています。

Browser support

HTML element: frameset