HTML FRAMES For 3rd CSE R18 JNTUH
HTML FRAMES For 3rd CSE R18 JNTUH
HTML frames are used to divide your browser window into multiple sections
where each section can load a separate HTML document.
The window is divided into frames in a similar way the tables are organized: into
rows and columns.
Disadvantages of Frames
There are few drawbacks with using frames, so it's never recommended to use
frames in your webpages −
Some smaller devices cannot cope with frames often because their screen
is not big enough to be divided up.
Sometimes your page will be displayed differently on different computers
due to different screen resolution.
The browser's back button might not work as the user hopes.
There are still few browsers that do not support frame technology.
Creating Frames
To use frames on a page we use <frameset> tag instead of <body> tag.
The <frameset> tag defines, how to divide the window into frames.
The rows attribute of <frameset> tag defines horizontal frames and cols attribute
defines vertical frames.
Each frame is indicated by <frame> tag and it defines which HTML document
shall open into the frame.
Example
<!DOCTYPE html>
<html>
<head>
<title>HTML Frames</title>
</head>
</frameset>
</html>
Example2
Let's put the above example as follows, here we replaced rows attribute by cols
and changed their width. This will create all the three frames vertically −
<!DOCTYPE html>
<html>
<head>
<title>HTML Frames</title>
</head>
<noframes>
<body>Your browser does not support frames.</body>
</noframes>
</frameset>
</html>
cols
Specifies how many columns are contained in the
frameset and the size of each column. You can
specify the width of each column in one of the four
ways −
Absolute values in pixels.
For example, to create three vertical frames,
use cols = "100, 500, 100".
A percentage of the browser window.
1
For example, to create three vertical frames,
use cols = "10%, 80%, 10%".
Using a wildcard symbol.
For example, to create three vertical frames,
use cols = "10%, *, 10%". In this case wildcard
takes remainder of the window.
rows
This attribute works just like the cols attribute and
takes the same values, but it is used to specify the
2
rows in the frameset.
For example, to create two horizontal frames,
use rows = "10%, 90%".
border
This attribute specifies the width of the border of
3
each frame in pixels. For example, border = "5".
A value of zero means no border.
frameborder
This attribute specifies whether a three-dimensional
border should be displayed between frames. This
4
attribute takes value either 1 (yes) or 0 (no).
For example: frameborder = "0" specifies no
border.
framespacing
This attribute specifies the amount of space
between frames in a frameset.
5
This can take any integer value.
For example: framespacing = "10" means there
should be 10 pixels spacing between each frames.
src
This attribute is used to give the file name that should
1 be loaded in the frame. Its value can be any URL. For
example, src = "/html/top_frame.htm" will load an
HTML file available in html directory.
name
This attribute allows you to give a name to a frame. It is
2
used to indicate which frame a document should be
loaded into.
frameborder
This attribute specifies whether or not the borders of
3 that frame are shown; it overrides the value given in the
frameborder attribute on the <frameset> tag if one is
given, and this can take values either 1 (yes) or 0 (no).
marginwidth
This attribute allows you to specify the width of the
space between the left and right of the frame's borders
4 and the frame's content. The value is given in pixels.
For example marginwidth = "10".
marginheight
This attribute allows you to specify the height of the
5 space between the top and bottom of the frame's borders
and its contents. The value is given in pixels. For
example marginheight = "10".
noresize
By default, you can resize any frame by clicking and
6 dragging on the borders of a frame. The noresize
attribute prevents a user from being able to resize the
frame. For example noresize = "noresize".
scrolling
This attribute controls the appearance of the scrollbars
7 that appear on the frame. This takes values either "yes",
"no" or "auto". For example scrolling = "no" means it
should not have scroll bars.
So you must place a <body> element inside the <noframes> element because
the <frameset> element is supposed to replace the <body> element, but if a
browser does not understand <frameset> element then it should understand
what is inside the <body> element which is contained in a <noframes>
element.
You can put some nice message for your user having old browsers. For
example, Sorry!! your browser does not support frames. as shown in the above
example.
Let's see following example where a test.htm file has following code −
<!DOCTYPE html>
<html>
<head>
<title>HTML Target Frames</title>
</head>
<noframes>
<body>Your browser does not support frames.</body>
</noframes>
</frameset>
</html>
Here, we have created two columns to fill with two frames. The first frame is
200 pixels wide and will contain the navigation menu bar implemented
by menu.htm file. The second column fills in remaining space and will contain the
main part of the page and it is implemented by main.htm file. For all the three
links available in menu bar, we have mentioned target frame as main_page, so
whenever you click any of the links in menu bar, available link will open in main
page.
<!DOCTYPE html>
<html>
</html>
<!DOCTYPE html>
<html>
</html>
Sr.N
Option & Description
o
_self
1
Loads the page into the current frame.
_blank
2
Loads a page into a new browser window. Opening a new window.
_parent
3 Loads the page into the parent window, which in the case of a single
frameset is the main browser window.
_top
4 Loads the page into the browser window, replacing any current
frames.
targetframe
5
Loads the page into a named targetframe.