In this HTML tutorial you will learn how to use HTML to create your own Web site.

HTML Tutorial: HTML Frames

HTML Frames



With frames, you can display more than one Web
page in the same browser window.




Examples


Vertical
frameset


This example demonstrates how to make a vertical frameset with three different
documents.


Horizontal
frameset


This example demonstrates how to make a horizontal frameset with three different
documents.


(You can find more examples at the bottom of this page)




Frames


With frames, you can display more than one HTML document in
the same browser window. Each HTML document is called a frame, and each frame is
independent of the others.


The disadvantages of using frames are:



  • The web developer must keep track of more HTML documents
  • It is difficult to print the entire page




The Frameset Tag



  • The <frameset> tag defines how to divide the window
    into frames

  • Each frameset defines a set of rows or columns
  • The values of the rows/columns indicate the amount of
    screen area each row/column will occupy




The Frame Tag



  • The <frame> tag defines what HTML document to put
    into each frame


In the example below we have a frameset with two columns. The
first column is set to 25% of the width of the browser window. The second column
is set to 75% of the width of the browser window. The HTML document
"frame_a.htm" is put into the first column, and the HTML document
"frame_b.htm" is put into the second column:









<frameset cols="25%,75%">
   <frame src="frame_a.htm">
   <frame src="frame_b.htm">
</frameset>


Note: The frameset column size value can also be set in
pixels (cols="200,500"), and one of the columns can be set to use the
remaining space (cols="25%,*").




Basic Notes - Useful Tips


If a frame has visible borders, the user can resize it by
dragging the border. To prevent a user from doing this, you can add
noresize="noresize" to the <frame> tag.


Add the <noframes> tag for browsers that do not support
frames.


Important: You cannot use the <body></body>
tags together with the <frameset></frameset> tags! However, if you
add a <noframes> tag containing some text for browsers that do not support
frames, you will have to enclose the text in <body></body> tags! See
how it is done in the first example below.




More Examples


How
to use the <noframes> tag


This example demonstrates how to use the <noframes> tag.


Mixed
frameset


This example demonstrates how to make a frameset with three documents, and how
to mix them in rows and columns.


Frameset
with noresize="noresize"


This example demonstrates the noresize attribute. The frames are not resizable.
Move the mouse over the borders between the frames and notice that you can not
move the borders.


Navigation
frame


This example demonstrates how to make a navigation frame. The navigation frame
contains a list of links with the second frame as the target. The file called
"tryhtml_contents.htm" contains three links. The source code of the
links:

<a href ="frame_a.htm" target ="showframe">Frame
a</a><br>

<a href ="frame_b.htm" target ="showframe">Frame
b</a><br>

<a href ="frame_c.htm" target ="showframe">Frame
c</a>

The second frame will show the linked document.


Inline
frame


This example demonstrates how to create an inline frame (a frame inside an HTML
page).


Jump
to a specified section within a frame


This example demonstrates two frames. One of the frames has a source to a
specified section in a file. The specified section is made with <a
name="C10"> in the "link.htm" file.


Jump
to a specified section with frame navigation


This example demonstrates two frames. The navigation frame (content.htm) to the
left contains a list of links with the second frame (link.htm) as a target. The
second frame shows the linked document. One of the links in the navigation frame
is linked to a specified section in the target file. The HTML code in the file
"content.htm" looks like this: <a href ="link.htm" target
="showframe">Link without Anchor</a><br><a href
="link.htm#C10" target ="showframe">Link with
Anchor</a>.




Frame Tags

























Tag Description
<frameset> Defines a set of frames
<frame> Defines a sub window (a frame)
<noframes> Defines a noframe section for browsers that do not
handle frames
<iframe> Defines an inline sub window (frame)