HTML5でフレーム(frameset)を使用する方法はある?使い方と代替手段を解説
HTMLではframesetが非推奨(deprecated)となりましたが、今でも使用することは可能です。その場合、トップレベルの親ドキュメントはXHTMLのフレームセットDTDで宣言し、各フレームの内容はHTML5で記述するという形になります。
コード例
以下は、親ドキュメントをXHTML 1.0 Framesetとして宣言し、上下2つのフレームを定義した例です。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"https://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html>
<head>
</head>
<frameset framespacing = "0" rows = "250,*" frameborder = "0" noresize>
<frame name = "top" src = "https://qries.com" target = "top">
<frame name = "main" src = "new.html" target = "main">
</frameset>
</html>
コードのポイント
- rows = "250,*":上段に高さ250pxのフレームを配置し、残りの領域をすべて下段に割り当てます。
- frameborder = "0":フレーム間の境界線を非表示にします。
- framespacing = "0":フレーム間の余白をなくします。
- noresize:ユーザーがフレームのサイズをドラッグで変更できないようにします。
- target属性:リンク先のページをどのフレームに表示するかを指定します。
注意点とモダンな代替手段
frameset要素やframe要素はHTML5では廃止されたため、上記の方法はあくまで過去のドキュメントを維持するためのものです。アクセシビリティやSEO、レスポンシブ対応の面でも問題が多く、新規サイトでの使用は推奨されません。
同様の画面分割レイアウトを実現したい場合は、次のような現代的な手法を採用しましょう。
- <iframe>要素:ページ内に別のHTMLドキュメントを埋め込むための標準的な方法です。
- CSS Flexbox / Grid:JavaScriptに依存せず、柔軟で保守性の高い分割レイアウトを構築できます。
-
HTMLで改行タグを正しく使う方法:<br>、<br/>、<br />の違いと使い分け
HTMLにおけるbrタグの基本HTMLで改行を挿入する際に使用されるのが<br>タグです。このタグは「空要素(empty element)」と呼ばれ、終了タグを必要としません。そのため、単に<br>と記述するだけで正常に機能します。一方で、<br/>や<br />といった書き方を目にしたことがある方も多いでしょう。それぞれの違いと正しい使い方を見ていきましょう。HTMLとXHTMLでの正しい書き方HTMLの場合標準的なHTML文書では、<br>タグを使用するのが正しい方法です。スラッシュなしのシンプルな形式で問題ありません。XHTML
-
【HTML DOM】Window framesプロパティの使い方とサンプルコード
HTML DOM の Window frames プロパティは、現在のウィンドウ内に存在するすべてのフレーム(<iframe> 要素など)に対応するオブジェクトを返します。このプロパティを利用することで、ページ内の各フレームにプログラムからアクセスし、内容や URL(location)を操作できるようになります。構文構文は以下のとおりです。現在のウィンドウ内のフレームを取得する場合:window.framesframesプロパティのポイント配列風(Array-like)オブジェクト:length プロパティやインデックスによるアクセスが可能です。各要素は window オブジェクト