Q. Show the properties of Frame Tag?
This tag is used for placing an HTML file in the frame created. We should now tell browser what to put in every frame.
<HTML>
<HEAD>
<TITLE>My Frame Page- The Master Page</TITLE>
</HEAD>
<FRAMESET COLS="50%, 50 %">
<FRAME SRC="One.htm">
<FRAME SRC="Two.htm">
</FRAMESET>
</HTML>
You also need to note here that <FRAMESET>is a container tag and <FRAME> isn't. A container tag has an opening <TAG>and a closing </TAG>. So notice that <FRAME> tag has no delimiter to terminate it. Everything is in its attributes. <FRAMESET>tag does all dividing of page in different windows. It also has attributes which specify how to divide them up. Can we divide page into more than 2 pieces? Yes, just make sure that you specify a page to occupy every section or browser will get confused.
<HTML>
<HEAD>
<TITLE>My Frame Page- The Master Page</TITLE>
</HEAD>
<FRAMESET COLS="20%,20%,20%,20%,20%">
<FRAME SRC="One.htm">
<FRAME SRC="Two.htm">
<FRAME SRC="Three.htm">
<FRAME SRC="Four.htm">
<FRAME SRC="Five.htm">
</FRAMESET>
</HTML>
Fig: A Web Page with Five Frames
It is just a small step to making frames all of different sizes. Your arithmetic should be correct and that percentages you specify add up to 100 or browser will come up with its own interpretation.
If we divide the page into ROWS instead of COLS we get a different layout.
<HTML>
<HEAD>
<TITLE>My Frame Page- The Master Page</TITLE>
</HEAD>
<FRAMESET ROWS="10%, 20%, 30%, 15%, 25 %">
<FRAME SRC="One.htm">
<FRAME SRC="Two.htm">
<FRAME SRC="Three.htm">
<FRAME SRC="Four.htm">
<FRAME SRC="Five.htm">
</FRAMESET>
</HTML>
Let's now take another instance with only 2 frames. We can specify 50 to indicate that number of pixels in place of 50%. We can also use * in place of a number. * means whatever is left over.
<HTML>
<HEAD>
<TITLE>My Frame Page- The Master Page</TITLE>
</HEAD>
<FRAMESET COLS="50,*">
<FRAME SRC="One.htm">
<FRAME SRC="Two.htm">
</FRAMESET>
</HTML>
When you use frames you have to be very careful to code properly to make sure that all viewers are able to look at reasonably consistent views. Let's suppose that you make a frame 100 pixels wide on the left and 100 pixels wide on the right. If some users are running an 800 ×600 screen they see middle area as 600 pixels wide. Other users might have a screen set at 640 ×480. What do they see? Middle area for them is only 440 pixels wide. So if you employ any absolute dimensions in your <FRAMESET>tags you must have at least one * that will produce an elastic frame. That way everything would look at least reasonably good. If you don't do that, your page may need to scroll on one resolution and not on another. As far as possible you might want to avoid absolute values in your frames and work on relative numbers so that things get taken care of automatically by browser. We can have more than one leftover frame and specify a size relationship between them. Try it yourself & see the result.
<HTML>
<HEAD>
<TITLE>My Frame Page- The Master Page</TITLE>
</HEAD>
<FRAMESET COLS="50,*,2*">
<FRAME SRC="One.htm">
<FRAME SRC="Two.htm">
<FRAME SRC="Three.htm">
</FRAMESET>
</HTML>
Above code means: Make 3 frames. Make first 50 pixels wide. Divide rest between frames 2 and 3. Though make frame 3 twice as big as frame 2. Put One.html/ in first frame, Two.html/ in the second and Three.html/ in the third. It is significant to note that everything is done in order. The first <FRAME>is displayed according to the first size attribute in the <FRAMESET>tag (50/One), the second frame with the second (*/Two) and the third frame with the third attribute set (2*/Three).