frame要素は表示域を分割してページを表示するフレームを作ります。フレームの割り付けを設定する frameset要素の中に定義し、終了タグはなく、内容をもたない空要素です。フレームを定義する場合は、noframes要素を併用し代替内容(frameset要素に含まれるすべてのリソースが表現する情報と完全に等価なもの)を指定することと、個々のフレームの識別が可能なように title属性を付与する等、フレーム非対応環境や非視覚環境のための配慮が必要です。
まず、フレームを定義する場合はフレーム設定型(Frameset)DTD(HTML 4.01, XHTML1.0)を記述し、frame要素は frameset要素の中で使って、分割して表示する個々のページに関する指定を行います。
分割された各部分をフレームといい、分割されたフレームの数だけ、frame要素を定義することになります。分割方法は frameset要素の cols属性(縦分割)と rows属性(横分割)のどちらを指定するかに依ります。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> <html><head> <title>フレームの基本定義</title> </head> <frameset cols="250,*"> <frame name="menu" src="menu.html" title="メニュー"> <frame name="main" src="main.html" title="コンテンツ"> <noframes> フレーム非対応環境用の代替内容 </noframes></frameset> </html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> <html><head> <title>フレームの基本定義</title> </head> <frameset rows="80,*"> <frame name="menu" src="menu.html" title="メニュー"> <frame name="main" src="main.html" title="コンテンツ"> <noframes> フレーム非対応環境用の代替内容 </noframes></frameset> </html>

フレームの境界線の表示・非表示を指定します。値には "1"、または "0" を指定します。
frameborder属性の指定がない場合、初期値は境界線を表示する設定になっています。また、隣接するフレームが境界線を表示する設定になっている場合は、その他に定義されている frame要素に境界線を非表示にする指定があっても境界線は表示されます。
フレームに関する詳細な説明がある URI を示します。視覚によらない非視覚環境に対して有効なもので、title属性の情報を補います。title属性はあくまでも端的な説明を行うためのものであって、詳しい説明をするために長々としたテキストを指定するのは現実的ではありません。そこで longdesc属性の値にフレームの内容に関する詳しい記述のあるページを指定し、そちらに誘導します。ただし、わざわざ説明用の文書を作成するのが面倒臭いようであれば、サイトマップの URI を指定する使い方でも良いでしょう。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html><head>
<title>W3G</title>
</head>
<framset cols="180,*">
<frame name="menu" src="menu.html"
longdesc="menu_descript.html" title="メニュー">
<frame name="main" src="main.html"
longdesc="main_descript.html" title="メイン">
<noframes>
フレーム非対応環境用の代替内容
</noframes></frameset></html>
フレームとフレーム内の表示内容との間に上下の余白を設けます。値は整数(ピクセル数で解釈)で指定します。個々のフレームになっている文書の body要素に CSS の marginプロパティが指定されている場合は、marginプロパティの方が優先的に反映されます。つまり、marginheight属性の代替が可能です。
フレームとフレーム内の表示内容との間に左右の余白を設けます。値は整数(ピクセル数で解釈)で指定します。個々のフレームになっている文書の body要素に CSS の marginプロパティが指定されている場合は、marginプロパティの方が優先的に反映されます。つまり、marginwidth属性の代替が可能です。
フレームに名前を付けて(a要素, area要素, base要素, form要素, link要素の)target属性でリンク先を特定のフレームに表示させる、またはフォームのデータの送信後にその応答を特定のフレームに表示させることができます。フレーム名は半角アルファベットの大文字・小文字が区別されません(case-insensitive)。
フレームのサイズ変更(リサイズ)を禁止にします。HTML4.01 では noresize、XHTMLでは noresize="noresize" と記述します。noresize属性の指定がない場合、ユーザー側はフレームの境界線部分にポインティングデバイス(マウスやノートパソコン付属のトラックパッドなど)のカーソルをあわせてドラッグすることで自由にサイズ変更することできます。
フレームにスクロールバーを付けるかどうかを指定します。値には次の3つがあります。キーワードは半角アルファベットの大文字・小文字が区別されません(case-insensitive)。
スクロールを許可する場合は、フレームの右または下にスクロールバーが表示されます。スクロールを禁止した場合は、フレームページの内容がはみだしてフレーム外に隠れてしまってもスクロールバーは表示されません。scrolling属性の指定がない場合は、初期値の "auto" が適用され、フレームのページ内容に応じて表示域のサイズよりも小さい場合にスクロールバーを表示します。
フレームに一番最初に表示させるリソースの URI を指定します。
http://w3g.jp/xhtml/dic/frame実績:大阪学院 入試サイト New! / 三田市民病院 / 神戸女学院大学 入試サイト / 釣りサンデー