<frameset>: FRAMESET 要素

最終更新:2026-10-13

<frameset>FRAMESET 要素

ブラウザーウィンドウを rows/cols で複数のサブウィンドウ(frame)に分割します。HTML5 で非推奨となりました。<iframe> や現代の CSS レイアウトを優先します。

カテゴリドキュメント構造
コンテンツモデルフローコンテンツ
許可される親要素フローコンテンツを受け入れる要素
閉じタグ必要 </frameset> タグ
ステータス廃止

📝 構文

<frameset cols="25%,75%">
  <frame src="nav.html">
  <frame src="content.html">
</frameset>

⚙️ 属性

この要素はグローバル属性に加え、以下の属性をサポートします:

属性値説明
rowsRow heights as pixels, % or *.
colsColumn widths as pixels, % or *.
borderBorder width between frames, in pixels.

▶ サンプル

下のコードを編集して、playground でリアルタイム結果を確認:

🌐 ブラウザサポート

ブラウザ ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
<frameset> ✓ v1 ✓ v12 ✓ v1 ✓ v1 ✓ v1
すべての主要ブラウザでサポート
ヒント: frameset は廃止予定で SEO やモバイルに不向きです。<iframe> や CSS Grid/Flex を使いましょう。

❓ よくある質問

Qframeset とは何ですか?なぜ廃止されたのですか?
A<frameset> は rows/cols 属性でウィンドウを複数の <frame> に分割し、各フレームが独立した文書を読み込む仕組みです。廃止の理由は、URL と履歴の対応が壊れる、アクセシビリティが最悪、検索エンジンのクロールが混乱する、レスポンシブにできない、の4点です。HTML5 では削除されました。
Qframeset のページを現代のブラウザで開くとどうなりますか?
A現代のブラウザは frameset を解析はします(後方互換)が、フレームのレイアウトとしては描画しません。内容の一部だけが表示されるか、空白になります。frameset に依存した旧システムは、新しいブラウザで必ず問題を起こすので、移行が必須です。
Qframeset の rows と cols はどう書くものでしたか?
A歴史的な書き方では、<frameset rows='80,*,100'> は「上 80px、中央は残りすべて、下 100px」の3行レイアウトを意味し、アスタリスクが余白を表します。旧コードを読むときの知識としてだけ役立て、新しいレイアウトでは CSS Grid の grid-template-rows で同じ効果を実現してください。
今後さらにケーススタディを追加予定です。

📚 関連チュートリアル

Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%