Html-frames

提供:Dev Guides
移動先:案内検索

HTML-フレーム

HTMLフレームを使用して、ブラウザウィンドウを複数のセクションに分割し、各セクションで個別のHTMLドキュメントをロードできます。 ブラウザウィンドウ内のフレームのコレクションは、フレームセットと呼ばれます。 ウィンドウは、表の構成と同様の方法で、行と列にフレームに分割されます。

フレームの欠点

フレームの使用には欠点がほとんどないため、Webページでフレームを使用することはお勧めしません-

  • 一部の小型デバイスは、画面を分割するのに十分な大きさがないため、フレームに頻繁に対応できません。
  • 画面の解像度が異なるため、ページがコンピューターごとに異なって表示される場合があります。
  • ブラウザーの[戻る]ボタンは、ユーザーの期待どおりに機能しない場合があります。
  • フレーム技術をサポートしていないブラウザはまだほとんどありません。

フレームを作成する

ページでフレームを使用するには、<body>タグの代わりに<frameset>タグを使用します。 <frameset>タグは、ウィンドウをフレームに分割する方法を定義します。 <frameset>タグの rows 属性は水平フレームを定義し、 cols 属性は垂直フレームを定義します。 各フレームは<frame>タグで示され、フレームで開くHTMLドキュメントを定義します。

'_-HTML5で非推奨となった<frame>タグ。 この要素は使用しないでください。_

以下は、3つの水平フレームを作成する例です-

<!DOCTYPE html>
<html>

   <head>
      <title>HTML Frames</title>
   </head>

   <frameset rows = "10%,80%,10%">
      <frame name = "top" src = "/html/top_frame"/>
      <frame name = "main" src = "/html/main_frame"/>
      <frame name = "bottom" src = "/html/bottom_frame"/>

      <noframes>
         <body>Your browser does not support frames.</body>
      </noframes>

   </frameset>

</html>

これは、次の結果を生成します-

上記の例を次のようにしましょう。ここでは、rows属性をcolsに置き換え、幅を変更しました。 これにより、3つのフレームすべてが垂直に作成されます-

<!DOCTYPE html>
<html>

   <head>
      <title>HTML Frames</title>
   </head>

   <frameset cols = "25%,50%,25%">
      <frame name = "left" src = "/html/top_frame"/>
      <frame name = "center" src = "/html/main_frame"/>
      <frame name = "right" src = "/html/bottom_frame"/>

      <noframes>
         <body>Your browser does not support frames.</body>
      </noframes>
   </frameset>

</html>

これは、次の結果を生成します-

<frameset>タグの属性

以下は、<frameset>タグの重要な属性です-

Sr.No Attribute & Description
1

cols

フレームセットに含まれる列の数と各列のサイズを指定します。 あなたは、4つの方法のいずれかで各列の幅を指定することができます-

ピクセル単位の絶対値。 たとえば、3つの垂直フレームを作成するには、_cols = "100、500、100" _を使用します。

ブラウザウィンドウの割合。 たとえば、3つの垂直フレームを作成するには、_cols = "10%、80%、10%" _を使用します。

ワイルドカード記号を使用します。 たとえば、3つの垂直フレームを作成するには、_cols = "10%、*、10%" _を使用します。 この場合、ワイルドカードはウィンドウの残りを使用します。

ブラウザウィンドウの相対的な幅として。 たとえば、3つの垂直フレームを作成するには、_cols = "3 *、2 *、1 *" _を使用します。 これはパーセンテージの代替です。 ブラウザウィンドウの相対的な幅を使用できます。 ここで、ウィンドウは6つに分割されます。最初の列はウィンドウの半分を占め、2番目は3分の1、3番目は6分の1を占めます。

2

rows

この属性はcols属性と同じように機能し、同じ値を取りますが、フレームセット内の行を指定するために使用されます。 たとえば、2つの水平フレームを作成するには、_rows = "10%、90%" _を使用します。 上記の列の説明と同じ方法で、各行の高さを指定できます。

3

border

この属性は、各フレームの境界線の幅をピクセル単位で指定します。 たとえば、border = "5"。 値ゼロは、境界線がないことを意味します。

4

frameborder

この属性は、フレーム間に3次元の境界線を表示するかどうかを指定します。 この属性は、1(yes)または0(no)のいずれかの値を取ります。 たとえば、frameborder = "0"は境界線を指定しません。

5

framespacing

この属性は、フレームセット内のフレーム間のスペースの量を指定します。 これには任意の整数値を使用できます。 たとえば、framespacing = "10"は、各フレーム間に10ピクセルの間隔が必要であることを意味します。

<frame>タグの属性

以下は、<frame>タグの重要な属性です-

Sr.No Attribute & Description
1

src

この属性は、フレームにロードするファイル名を指定するために使用されます。 値には任意のURLを使用できます。 たとえば、src = "/html/top_frame"は、htmlディレクトリにあるHTMLファイルをロードします。

2

name

この属性を使用すると、フレームに名前を付けることができます。 ドキュメントをロードするフレームを示すために使用されます。 これは、ページを別のフレームにロードするリンクを1つのフレームに作成する場合に特に重要です。この場合、2番目のフレームには、リンクのターゲットとして自身を識別する名前が必要です。

3

frameborder

この属性は、そのフレームの境界線を表示するかどうかを指定します。 <frameset>タグのframeborder属性で指定された値が指定されている場合、それをオーバーライドし、1(yes)または0(no)のいずれかの値を取ることができます。

4

marginwidth

この属性を使用すると、フレームの境界線の左右とフレームのコンテンツの間のスペースの幅を指定できます。 値はピクセル単位で指定されます。 たとえば、marginwidth = "10"。

5

marginheight

この属性を使用すると、フレームの境界線の上部と下部とそのコンテンツの間のスペースの高さを指定できます。 値はピクセル単位で指定されます。 たとえば、marginheight = "10"。

6

noresize

デフォルトでは、フレームの境界線をクリックしてドラッグすることで、フレームのサイズを変更できます。 noresize属性は、ユーザーがフレームのサイズを変更できないようにします。 たとえば、noresize = "noresize"。

7

scrolling

この属性は、フレームに表示されるスクロールバーの外観を制御します。 これは、「yes」、「no」、または「auto」のいずれかの値を取ります。 たとえば、scrolling = "no"は、スクロールバーがないことを意味します。

8

longdesc

この属性を使用すると、フレームのコンテンツの長い説明を含む別のページへのリンクを提供できます。 たとえば、longdesc = "framedescription"

フレームのブラウザサポート

ユーザーがフレームをサポートしない古いブラウザーまたはブラウザーを使用している場合、<noframes>要素をユーザーに表示する必要があります。

そのため、<frameset>要素は<body>要素を置き換えることになっているため、<noframes>要素内に<body>要素を配置する必要がありますが、ブラウザが<frameset>要素を理解していない場合は、その内部の内容を理解する必要があります<noframes>要素に含まれる<body>要素。

古いブラウザを使用しているユーザーに対して、素敵なメッセージを送ることができます。 たとえば、_Sorry !! 上記の例に示すように、ブラウザはframes._をサポートしていません。

フレームの名前とターゲット属性

フレームの最も一般的な使用法の1つは、ナビゲーションバーを1つのフレームに配置し、メインページを別のフレームに読み込むことです。

テストファイルに次のコードがある次の例を見てみましょう-

<!DOCTYPE html>
<html>

   <head>
      <title>HTML Target Frames</title>
   </head>

   <frameset cols = "200, *">
      <frame src = "/html/menu" name = "menu_page"/>
      <frame src = "/html/main" name = "main_page"/>

      <noframes>
         <body>Your browser does not support frames.</body>
      </noframes>
   </frameset>

</html>

ここでは、2つのフレームを埋めるために2つの列を作成しました。 最初のフレームの幅は200ピクセルで、 menu ファイルによって実装されるナビゲーションメニューバーが含まれます。 2番目の列は残りのスペースを埋め、ページのメイン部分が含まれ、 main ファイルによって実装されます。 メニューバーで使用可能な3つのリンクすべてについて、ターゲットフレームを main_page と記載しているため、メニューバーでリンクのいずれかをクリックすると、使用可能なリンクがメインページで開きます。

以下はメニューファイルの内容です

<!DOCTYPE html>
<html>

   <body bgcolor = "#4a7d49">
      <a href = "http://www.google.com" target = "main_page">Google</a>
      <br/>
      <br/>

      <a href = "http://www.microsoft.com" target = "main_page">Microsoft</a>
      <br/>
      <br/>

      <a href = "http://news.bbc.co.uk" target = "main_page">BBC News</a>
   </body>

</html>

以下はメインファイルの内容です-

<!DOCTYPE html>
<html>

   <body bgcolor = "#b5dcb3">
      <h3>This is main page and content from any link will be displayed here.</h3>
      <p>So now click any link and see the result.</p>
   </body>

</html>
  • テスト*ファイルをロードすると、次の結果が生成されます-

これで、左側のパネルにあるリンクをクリックして結果を確認できます。 _targetattribute_はまた、次の値のいずれかを取ることができます-

Sr.No Option & Description
1

_self

現在のフレームにページをロードします。

2

_blank

ページを新しいブラウザウィンドウにロードします。 新しいウィンドウを開きます。

3

_parent

ページを親ウィンドウにロードします。親ウィンドウは、単一のフレームセットの場合はメインブラウザーウィンドウです。

4

_top

ページをブラウザウィンドウに読み込み、現在のフレームを置き換えます。

5

targetframe

指定されたターゲットフレームにページをロードします。