本文の開始

無料ホームページ作成 HTML入門 y-labo - フレームを設定するHTML

無料ホームページ作成HTML情報。無料でWeb/HP製作。ホームページ入門から、
HTML・CSS・SEO対策・フリーソフトから無料テンプレートまで。

格安ホームページ制作激安HPWeb製作のy-labo.net(わいらぼ、ワイラボ)

  • ホームページ制作費を安く・格安・激安!
  • ホームページ制作を早く!
  • でもかっこいいホームページにカスタマイズ
  • SEO対策でアクセスアップ
  • ホームページ制作後も安心サポート
  • 自分でもホームページを修正したい

2-9)フレームを設定するHTML HTML入門

無料ホームページ作成情報 トップ > HTML入門 > 2-9)フレームを設定するHTML

 

ご自分でホームページを作成・修正される方のために、ホームページ作成のためのコンテンツをご用意しました。すべて無料のコンテンツですのでお役立てください。なお、こちらのコンテンツに関してはサポートを行っていません。ご質問のメールなどはご遠慮いただければと思います。

フレームを設定するHTMLについて

複数のHTMLページをフレーム枠で表示します。

フレームは、閲覧者には便利で見やすくなりますが、ロボット型の検索エンジンには読みづらく「SEO対策」には向いていません。

特殊な理由を除けば、フレームを使用したホームページは作成しないほうがよいでしょう。

また、「1-8)ホームページのレイアウト」は関連するページになります。

このページで最終的に作成するページの見本は以下の通りです。
フレームページ(左右2分割)フレームページ(4分割)インラインフレームページ

フレームの仕組み

フレームは複数のHTMLページを表示する機能です。

一般的に、リンクなどを表示するナビゲーション用のフレームとページの中身・コンテンツを表示するフレームを1つのウィンドウに表示します。

下の例では、「navi.html」と「main.html」の2つのhtmlを、「frame.html」というHTMLで表示しています。

frame.html
navi.html main.html
main.html
navi.html

下の例では、「navi.html」と「main.html」、「header.html」「footer.html」の4つのhtmlを、「frame.html」というHTMLで表示しています。

frame.html
header.html
navi.html main.html
footer.html

このページのTOPへ

フレームの基本構成 <frame>タグ

上記のような、「ナビゲーション」と「メイン」のページを作成するためには、「navi.html」「main.html」「frame.html」のように3つのhtmlファイルが必要です。

ナビゲーションページ(navi.html) メインページ(main.html)
見本画像 見本画像
フレームページ(frame.html)
見本画像

例)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>フレームタグの説明</title>
</head>
<frameset cols="200,*">
<frame src="sample2-8navi.html" name="leftnavi">
<frame src="sample2-8main.html" name="main">
</frameset>
<body>
</body>
</html>

<frameset>タグ

フレームを使用するためには、<head></head>タグと<body></body>タグの間に、<frameset></frameset>を挿入してフレームを設定します。

その時に、見本のように横方向に分割する場合は「cols」属性、縦方向に分割する場合は「rows」属性で分割する数を指定します。

例えば、見本のように横に2つに分割する場合は、<frameset cols="200,*">と入力します。この「200」は一つ目のフレームの幅が200ピクセルという意味です。次の「*」は、残りすべてという意味です。

縦方向に3分割する場合は、 <frameset rows="80,*,70">というように入力します。

<frame>タグ

<frameset></frameset>の間に、<frame>タグで各フレームを設定します。

必要最低限の属性は、「src」属性でファイルを指定し、「name」属性でフレーム名を指定します。フレーム名はリンクなどに使用します。

<frameset>タグのネスト

<frameset>タグをネスト(入れ子)にすることで、より複雑なフレームを設定できます。

ナビゲーションページ(navi.html) メインページ(main.html)
見本画像 見本画像
ナビゲーションページ(navi.html) メインページ(main.html)
見本画像 見本画像
フレームページ(frame.html)
見本画像

例)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>フレームタグの説明</title>
</head>
<frameset rows="80,*,70">
<frame src="sample2-8header.html" name="header">
<frameset cols="200,*">
<frame src="sample2-8navi.html" name="leftnavi">
<frame src="sample2-8main.html" name="main">
</frameset>
<frame src="sample2-8footer.htm" name="footer">
</frameset>
<body>
</body>
</html>

1つめの<frameset></frameset>タグでは、縦に3分割して上から順に「80」ピクセル、「*」(残り全部)、「70」ピクセルに分割します。

上の「80」ピクセルにはヘッダーのファイルを、下の「70」ピクセルにはフッターのファイルを指定します。

中間の「*」の部分にはネストする<frameset></frameset>タグを入力します。

この<frameset></frameset>は、横に分割して「200」ピクセルと「*」(残り全部)として、それぞれにナビゲーションファイルとメインファイルを指定します。

このページのTOPへ

フレーム全体を設定 <frameset>タグの属性

<frameset>タグに設定できる属性を確認します。

frameborder属性

frameborder属性でフレームとフレームの間の線の有無を設定できます。

設定をしないとブラウザに委任することになります。 どのブラウザでも同じように表示できるようにどちからに設定したほうがよいでしょう。

「yes」でフレームを表示、「no」でフレームを非表示になります。

例)
<frameset cols="200,*" frameborder="yes">

frameborder="yes"の例

見本画像

frameborder="no"の例

見本画像

border属性

border属性でフレームとフレームの間の線の太さを指定します。

IEの場合は、framespacing属性でも同じように線の太さを設定で出来ます。

例)
<frameset cols="200,*" border="0">

border="0"の例

見本画像

border="10"の例

見本画像

bordercolor属性

bordercolor属性でフレームとフレームの間の線の色を指定します。

例)
<frameset cols="200,*" bordercolor="#FF0000">

bordercolor="#FF0000"の例

見本画像

このページのTOPへ

各フレームの設定 <frame>タグの属性

<frame>タグに設定できる属性を確認します。

scrolling属性

scrolling属性でフレームにスクロールバーを表示するかどうかを設定します。

「auto」を設定すると、各フレームの内容によって表示されたりされなかったりします。

「yes」の場合、必ずスクロールバーが表示されます。

「no」の場合、スクロールバーは表示されません。この場合、スクロールが必要なページがある場合、全体が表示されないということになってしまいますので注意です。

すべてのブラウザに対応するため、フレームには必ず設定すると良いでしょう。

例)
<frameset cols="200,*" scrolling="auto">

scrolling="auto"の例

見本画像

scrolling="yes"の例

見本画像

scrolling="no"の例

見本画像

noresize属性

noresize属性でフレームとフレームの間の枠のサイズ変更を禁止することができます。デザイン性から考えると、フレームのサイズ変更はレイアウトを崩してしまうので、基本的には禁止したほうが良いでしょう。

また、この属性には値を設定する必要はないので、単に「noresize」と入力するだけでサイズ変更を禁止できます。

例)
<frameset cols="200,*" noresize>

noresizeがなしでサイズ変更許可の例

見本画像

noresizeでサイズ変更禁止の例

見本画像

marginwidth属性とmarginheight属性

marginwidth属性で横の余白、marginheight属性で縦の余白を設定できます。

例)
<frame src="sample2-8main.html" name="main" marginwidth="50" marginheight="100">

見本画像

frameborder属性

<frame>タグでも、frameborder属性を設定できます。

「yes」でフレームを表示、「no」でフレームを非表示になります。

例)
<frame src="sample2-8main.html" name="main" frameborder="yes">

frameborder="yes"の例

見本画像

frameborder="no"の例(メインページのみボーダーを非表示)

見本画像

bordercolor属性

<frame>タグでも、bordercolor属性でフレームとフレームの間の線の色を指定します。

例)
<frame src="sample2-8main.html" name="main" bordercolor="#FF0000">

bordercolor="#FF0000"の例(メインページのみボーダーの色を赤)

見本画像

このページのTOPへ

フレーム未対応ブラウザへの対応 <noframes>タグ

フレームが未対応のブラウザのためのページを作成する場合は、以下のように<noframes>タグを使用します。

下の例では、<noframes>と</noframes>の間に、<body></body>タグがあります。ここに通常通りホームページを作成すれば、フレーム未対応の場合は、そちらが表示されます。また、ここに普通にページを作成することで、「SEO対策」にもなります。「SEO対策」を考えるとフレームは使用しないほうが良いのですが、特別な理由がありフレームを使用する場合は必ず入力するようにしましょう。

ただ、フレーム対応ページと未対応ページを作成する場合、当然ホームページの作業量は2倍となりますので、それを考えると初めからフレーム未対応でページを作成できるのであればそちらのほうが良いといえます。

例)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>フレームタグの説明</title>
</head>
<frameset cols="200,*">
<frame src="sample2-8navi.html" name="leftnavi">
<frame src="sample2-8main.html" name="main">
</frameset>
<noframes>
<body>
</body>
</noframes>
</html>

フレーム対応ブラウザの場合は、以下の通りフレームで表示されます。

見本画像

フレーム未対応ブラウザの場合は、以下の通りフレーム無しで表示されます。

見本画像

このページのTOPへ

ページ内のインラインフレーム <iframe>タグ

インラインフレームを使用して、ページ内にフレームを表示します。

<iframe>タグを使用します。

必ず属性として、src属性とwidth属性・height属性入力します。

src属性では、フレームの中に表示するファイル名を指定します。

width属性・height属性でフレームの幅と高さを指定しします。

また、<iframe>と</iframe>の間にはフレーム未対応の場合の文字を入力します。具体的には、フレーム未対応の場合でも、メインページを閲覧できるように、別ウィンドウでリンクは貼ると良いでしょう。

例)
<iframe src="sample2-8main.html" width="700" height="300">
このページはインラインフレームを使用しています。
未対応ブラウザは<a href="sample2-8main.html" target="_blank">こちら</a>をクリック。
</iframe>

見本画像

フレーム未対応の場合は以下の通り表示されます。

見本画像

name属性

<iframe>タグでも、name属性でフレームに名前を設定できます。リンクによって切り替えるときなどは必要になります。

例)
<iframe src="sample2-8main.html" width="700" height="300" name="main">
</iframe>

align属性

<iframe>タグでも、align属性でフレームの配置を変更できます。

「center」で中央に、「right」で右に、「left」で左揃えに設定できます。

例)
<iframe src="sample2-8main.html" width="700" height="300" align="center">
</iframe>

見本画像

また、「right」や「left」を使用すれば文字の回りこみも設定できます。

見本画像

frameborder属性

<iframe>タグでも、frameborder属性でフレームの有無を設定できます。

例)
<iframe src="sample2-8main.html" width="700" height="300" frameborder="no">
</iframe>

見本画像

scrolling属性

<iframe>タグでも、scrolling属性でスクロールバーの設定できます。

「auto」を設定すると、各フレームの内容によって表示されたりされなかったりします。

「yes」の場合、必ずスクロールバーが表示されます。

「no」の場合、スクロールバーは表示されません。この場合、スクロールが必要なページがある場合、全体が表示されないということになってしまいますので注意です。

すべてのブラウザに対応するため、フレームには必ず設定すると良いでしょう。

例)
<iframe src="sample2-8main.html" width="700" height="300" scrolling="no">
</iframe>

見本画像

marginwidth属性とmarginheight属性

<iframe>タグでも、marginwidth属性で横の余白、marginheight属性で縦の余白を設定できます。

例)
<iframe src="sample2-8main.html" width="700" height="300" marginwidth="50" marginheight="100">
</iframe>

見本画像

このページのTOPへ

フレームへのリンク

フレームへのリンクを貼る場合は、リンクタグ<a>タグのtarget属性で設定できます。

リンクについては詳しくは「2-7)リンクを設定するHTML」をご覧ください。

下の画像のように、フレームを使用する場合は一般的にナビゲーションページとメインページに分かれます。ナビゲーションページに普通にリンクを貼ってしまうと以下のようになります。

例)
<a href="sample2-8main.html">ページ1へのリンク</a>
<a href="sample2-8main2.html">ページ2へのリンク</a>
<a href="sample2-8main3.html">ページ3へのリンク</a>

見本画像

target属性に何も設定しないと、クリックしたフレームにそのまま表示されてしまいます。

見本画像

target属性="*"でフレームを指定

リンクタグ<a>タグのtarget属性で指定できます。

例)
<a href="sample2-8main.html" target="main">ページ1へのリンク</a>
<a href="sample2-8main2.html" target="main">ページ2へのリンク</a>
<a href="sample2-8main3.html" target="main">ページ3へのリンク</a>

見本画像

見本画像

インラインフレームでも、同様にtarget属性で指定できます。

例)
<a href="sample2-8main.html" target="main">ページ1へのリンク</a>
<a href="sample2-8main2.html" target="main">ページ2へのリンク</a>
<a href="sample2-8main3.html" target="main">ページ3へのリンク</a>

見本画像

見本画像

target属性="_self"、target属性="_top"、target属性="_parent"

リンクタグ<a>タグのtarget属性には、他にも「_self」「_top」「_parent」というフレーム用の属性があります。

「_self」は、リンクがあるフレームに表示します。何も表示しないことと同じ意味になります。
「_top」は、すべてのフレームを解除してウィンドウ全体に表示します。
「_parent」、複数のフレームがある場合は、1つ上のフレームのみを解除して表示します。1つしかフレームがない場合は、「_top」と同じになります。

例)
<a href="sample2-8main.html" target="_self">ページ1へのリンク</a>
<a href="sample2-8main2.html" target="main">ページ2へのリンク</a>
<a href="sample2-8main3.html" target="_top">ページ3へのリンク</a>
<a href="sample2-8frame.html" target="_top">フレームページへ</a>

見本画像

見本画像

このページのTOPへ

このページのTOPへ

格安です!ホームページ制作をご依頼ください!!

ホームページ制作は専門用語も多く、わかりにくいことも多いかと思います。ホームページの制作方法や制作費用、アクセス数アップ(SEO対策)などわかりにくいことがあればお気軽にお問い合わせください。

このページのTOPへ

格安ホームページ制作依頼

メールでご相談

メールでのお問い合わせは365日24時間受付中です。

お電話でのご相談

090-3401-6229(直通)

【対応時間】

平日のみ(土日祝日はお休み)
午前11時〜午後7時頃

※留守番電話にメッセージを残して頂ければ、対応時間内にこちらより折り返します。

ページの終了