Frames

Despite the fact that the recent trend in web design frowns upon the use of frames and tables in large, commercial websites, as they are a disadvantage when registering a site with many major search engines, frames and tables remain extremely useful for amateur webmasters. Despite their many disadvantages, frames and tables allow beginners to put together attractive web sites that are well-organized and viewable in most major web browsers. In the section below, we will provide you with the basics you need to get started on your web site with frames and tables, so that you can get your site online as soon as possible! In order to help you understand how to create frames more easily, we at HostSearch will use the HTML code of this page to show you how to build frames from scratch. Using this as a guide, you should be able to build frames and specify a frame target.

<html>

<head>

<title>Creating Frames For Your Web Pages.</title>

</head>

<FRAMESET COLS="100%" ROWS="60,*" border=no frameborder=0 framespacing=0>

     <FRAME NAME="upper" SRC="frameup_frame.htm" SCROLLING="NO" NORESIZE>

    <FRAMESET COLS="160,*" border=no frameborder=0 framespacing=0>

        <FRAME NAME="left" SRC="framelf.html" SCROLLING="AUTO" NORESIZE>

        <FRAME NAME="main" SRC="right_frame.html" SCROLLING="AUTO" NORESIZE>

    </FRAMESET>

</FRAMESET>

<noframes>

<body bgcolor="#FFFFFF" text="#000000">

<p>This web page uses frames, but your browser doesn't support

them.</p>

</body>

</noframes>

</html>

Below is the step by step description of what each line means.

We don't need <body> tag for frame page. If you put the <body> tag before <frameset>, some browsers will not show the frames.

Look at my first mark [], <FRAMESET COLS="100%" ROWS="60,*" border=no frameborder=0 framespacing=0>. We create frames with the opening tag <FRAMESET>. Within this tag, we specify column and row attributes.

As you may notice, this page is divided into two rows. We first specify column width = 100% (COLS="100%") and the height of the first row = 60 pixels (ROWS="60,*"). The asterisk mark [*] is the value of whatever space that left below. That means the second row will use the rest of the space. You also can specify the value in % such as ROWS="60%,40%", but specifying the value in pixels will give you greater control over page composition.

Next, you will see that we have borderless frames here. This is possible by specifying border=no frameborder=0 framespacing=0. Generally, if you don't want borderless frames, you don't need to use border=, frameborder= and framespacing= attributes. You can just put this <FRAMESET COLS="100%" ROWS="60,*">, and the browsers will create frames with border for you.

Look at my second mark [], <FRAME NAME="upper" SRC="frameup_frame.htm" SCROLLING="NO" NORESIZE>. <FRAME> is used to specify the file inside <frameset>. I have to create a file and put it in SRC=" ". On this page, the upper frame is named upper. SCROLLING="NO" means visitors don't have an ability to scroll up and down the page. You can put "yes" or "no". If you don't specify "auto" is the default value. Auto scrolling means the browsers will determine whether this section fit into the screen or need scrolling. NORESIZE means viewers of this page cannot put their mouse between the frame and resize it. If you don't specify this, they will be able to resize your frame.

We have specified the 60 pixels on the top. Now, were going to work on the space below top frame ( * ). Because we will split this section into 2 parts, we put the <FRAMESET> tag again here. Look at the third mark [], <FRAMESET COLS="160,*" border=no frameborder=0 framespacing=0>, you 'll see that the same rule was applied. I specified the width of the left frame to 160 pixels and left the space on the right unspecified ( * ). There are two columns in this row. You need to specify the files for both sections. We are using <FRAME> again here.

<FRAME NAME="left" SRC="framelf.html" SCROLLING="AUTO" NORESIZE>
<FRAME NAME="main" SRC="right_frame.html" SCROLLING="AUTO" NORESIZE>

This is not a new case. The left frame and the right frame are specified using the same rule as we previously assign a file for upper frame. Don't forget to close FRAMESET tag with </FRAMESET>.

If you don't specify scrolling and resize value, the defaults (scrollable and resizable) will take place.

OK, now the tag <noframes> is an alternative for people who use browsers that don't support frame. Browsers that support frames will not read anything inside this tag. This tag can be inside or outside <frameset> and </frameset>. If you want to set BODY attribute such as a background color, you should put <body> tag inside <noframe> tag.

How do I specify frame targets?

Here is HTML code from my left frame.

<a HREF="begin.html" TARGET="_top">The easiest HTML guide for beginners</a>

Look at target="_top", this is the way you send the page to another frame. For example, if you want a click on the left to bring a new page into the right frame, you have to specify target="main". (Absolutely, you first have to give the name to frame on the right as described earlier.)

You also can use the predefined targets as we've used ("_top"). The predefined targets are case sensitive and begin with underscore [_]. They are:

  • _top: the document will be opened in the full browser windows. Use _top to open the linked document in full browser windows.
  • _self: the document will be opened in the same frame. Example, if I specify "HOME" on the left frame as "_self", the home page will appear in the left frame. (pretty ugly, huh?)
  • _parent: the document will be opened in the current windows' parent. Example, if there is a link in this right frame and it cause nested frame. Within the nested frame, I specify the link as "_parent". When you click that link it will appear back into this right frame and nested frame will disappear. NOTE: If there is no parent exists, it will acts like "_self"
  • _blank: the document will be opened in the new browser windows. Browser will launch a new windows while your previous page, which is the frame page, is still open.

Top 3 Hosts From Our Search

1OrangeWebsite.com
23essentials Hosting
3LeaseHost