There are two kinds of frames, iframes and frameset, this page is dedicated to frameset: for iframes head over here!

Notable frameset sites are and the spacejam website!

This is a short guide on how to use frameset to make a homepage:

A frameset is a cool way of splitting up a web page into different parts, called frames, that can show different HTML pages. A frameset can be handy for making a homepage that has a nice layout, like a menu, a header, or a footer, that stays the same when you click on different links.

  • To use frameset on a page, you need to use the <frameset> tag instead of the <body> tag. The <frameset> tag tells the browser how to split up the window into frames, using the rows and cols attributes. The rows attribute says how many and how big the horizontal frames are, and the cols attribute says how many and how big the vertical frames are. You can use pixels, percentages, or asterisks to say the size of each frame.
  • For example, <frameset rows=“10%,*” cols=“150,*”> means that the window will be split into three horizontal frames, with the first one being 10% pixels tall and the second one taking up the rest of the space. The window will also be split into two vertical frames, with the first one being 150px wide, and the second one being the rest of the space.
  • Each frame is marked by the <frame> tag, which says which HTML page will show up in the frame. The <frame> tag has a src attribute, which says the URL of the page to show. The <frame> tag can also have a name attribute, which can be used to make links open in a specific frame.
  • For example, <frame src=“nav.html” name=“nav”> means that the frame will show the page nav.html, and it will have the name nav. This name can be used to make links open in this frame, by using the target attribute of the <a> tag. For example, <a href=“home.html” target=“nav”>Home</a> means that the link will open the page home.html in the frame named nav.

Here is an example of a homepage that uses frameset to make a layout with a header, a menu, a main area, and a footer:

    <title>My Homepage</title>
  <frameset rows="10%,*" cols="150px,*">
    <frame src="logo.html" name="header">
    <frame src="header.html" name="header">
    <frame src="nav.html" name="nav">
    <frame src="home.html" name="main">

You might also want to install Melon's frame link fix - this is a small script that will allow you to share links to frames in the same way as a normal webpage - take a look at the thread below: See melon's frame link fix!