11.2 Frame Tags
You need to know only three tags to create a frame document:
<frameset>,
<frame>, and
<noframes>. In addition, the HTML 4 and
XHTML standards provide the <iframe> tag,
which you may use to create inline, or floating,
frames.
A
frameset
is simply the collection of frames that make up a
browser's window. Column- and row-definition
attributes for the <frameset> tag let you
define the number and initial sizes for the columns and rows of
frames. The <frame> tag defines which
document HTML or otherwise initially goes into the frames
within those framesets and is where you may give the frame a name to
use for document hypertext links.
Here is the HTML source used to generate Figure 11-1:
<html>
<head>
<title>Frames Layout</title>
</head>
<frameset rows="60%,*" cols="65%,20%,*">
<frame src=">
<frame src=">
<frame src=" name="fill_me">
<frame scrolling=yes src=">
<frame src=">
<frame src=" id="test">
<noframes>
Sorry, this document can be viewed only with a
frames-capable browser.
<a href = ">Take this link</a>
to the first HTML document in the set.
</noframes>
</frameset>
</html>
Notice a few things in the simple frame example and its rendered
image (Figure 11-1). First, like tables, frames in a
frameset are filled row by row by the browser. Second, Frame 4 sports
a scrollbar because we told it to, even though the contents may
otherwise fit without scrolling. (Scrollbars automatically appear if
the contents overflow the frame's dimensions, unless
explicitly disabled with the scrolling attribute
in the <frame> tag.) This works for Internet
Explorer and earlier versions of Netscape, but Netscape Version 6
displays the scrollbar only when the contents overflow the frame and
scrolling is not explicitly disabled. [<frame>]
Another item of interest is the
name
attribute in the example frame tags. Once
named,[1] you can reference a particular
frame as the location in which to display a hypertext-linked document
or perform some automated action. To do that, you add a special
target attribute to the anchor
(<a>) tag of the source hypertext link. For
instance, to link a document called for
display in Frame 3, which we've named
"fill_me," the anchor looks like
this:
[1] But, interestingly, not
id'd, even though the attribute
exists for frames and can identify other HTML/XHTML elements as
hyperlink targets.
<a href=" target="fill_me">
If the user chooses the link, say in Frame 1, the
document replaces the original
contents in Frame 3. [Section 11.7.1]
Finally, although Netscape and Internet Explorer both support frames,
it is possible that users with some other browser will try to view
your frame documents. That's why each of your key
frame documents should provide a back door to your document
collection with the <noframes> tag.
Frames-capable browsers display your frames; non-frames-capable
browsers display the alternative <noframes>
content.
11.2.1 What's in a Frame?
Anyone who has opened more
than one window on their desktop display to compare contents or
operate interrelated applications knows instinctively the power of
frames.
One simple use for frames is to put content that is common in a
collection, such as copyright notices, introductory material, and
navigational aids, into one frame, with all other document content in
an adjacent frame. As the user visits new pages, each loads into the
scrolling frame, while the fixed-frame content persists.
A richer frame document-enabled environment provides navigational
tools for your document collections. For instance, assign one frame
to hold a table of contents and various searching tools for the
collection. Have another frame hold the user-selected document
contents. As users visit your pages in the content frame, they never
lose sight of the navigational aids in the other frame.
Another beneficial use of frame documents is to compare a returned
form with its original for verification of the content by the
submitting user. By placing the form in one frame and its submitted
result in another, you let the user quickly verify that the result
corresponds to the data entered in the form. If the results are
incorrect, the form is readily available to be filled out again.