![]() | ![]() | ![]() |
Many (even most) frame layouts involve some combination of columns and rows not formed into a grid-pattern. These more-complicated layouts are accomplished using nested FRAMESET tags.
Every row or column defined in a FRAMESET tag must have either a FRAME tag associated with it, or a NESTED FRAMESET tag associated with it.
To clarify how to nest FRAMESET tags, I have broken down the process in the following step-by-step example.
Step One: nest a FRAMESET tag in our first column (or in any column or row of a FRAMESET), replacing the FRAME tag that would normally reside there.
Example:
<html>
<head>
<title>FRAMESET and FRAME Example</title>
</head>
<frameset cols="*,200">
<frameset>
</frameset>
<frame src="./page3.html" />
</frameset>
</html>
Step Two: define ROWS for our nested FRAMESET (you'll always be defining the nested FRAMESET using the opposite structure from the parent FRAMESET).
Example:
<html>
<head>
<title>FRAMESET and FRAME Example</title>
</head>
<frameset cols="*,200">
<frameset rows="150,*">
</frameset>
<frame src="./page3.html" />
</frameset>
</html>
Step Three: add FRAME tags to nested FRAMESET.
Example:
<html>
<head>
<title>FRAMESET and FRAME Example</title>
</head>
<frameset cols="*,200">
<frameset rows="150,*">
<frame />
<frame />
</frameset>
<frame src="./page3.html" />
</frameset>
</html>
Step Four: set SRC attributes for FRAME tags.
Example:
<html>
<head>
<title>FRAMESET and FRAME Example</title>
</head>
<frameset cols="*,200">
<frameset rows="150,*">
<frame src="./page1.html" />
<frame src="./page2.html" />
</frameset>
<frame src="./page3.html" />
</frameset>
</html>
Here is the above example displayed.
Here is the same example with the rows and columns reversed:
<html>
<head>
<title>FRAMESET and FRAME Example</title>
</head>
<frameset rows="*,200">
<frameset cols="150,*">
<frame src="./page1.html" />
<frame src="./page2.html" />
</frameset>
<frame src="./page3.html" />
</frameset>
</html>
And here is the above example displayed
Note: can you see how I have defined AT LEAST one row AND one column in these layouts using proportional units of measurement? This ensures that the fixed-width and fixed-height frames maintain their proper shapes.
You may nest framesets as deeply as you wish, creating very complicated layouts. Of course, if you make a design TOO complex, it loses usability; use only as many frames as you truly need.
Remember: Each row or column of a FRAMESET must have associated with it either a FRAME tag or a nested FRAMESET tag. Ultimately, EVERY frame in the design must have a FRAME tag associated with it.
Copyright © 2001 Michael Masumoto. All Rights Reserved.