Frames can be really messy if you're not careful. If you do decide to use them, Sidla's code will give you the basic page layout but you may want to tweak a few extra settings - I'd suggest that instead of using percentages for the widths of the columns, you set the left hand column to a set width (in pixels) and make the right hand side scalable so that if the browser window is resized things don't get messed up. This way, even if the user reduces the size of the browser window the menu will always remain intact which is a nice touch. Also, to keep things looking tidy you may want to tweak a couple of settings:
example:
Code: Select all<frameset cols="150,*" rows="*" frameborder="NO" border="0" framespacing="0">
<frame src="menupage.htm" noresize scrolling="NO">
<frame src="mainpage.htm">
</frameset>
Setting the frameborder, border and framespacing attributes as above (first line) make the page look like one whole page - you may wish to change these setting slightly, it's down to personal preference.
The noresize and scrolling="no" attributes have been applied to the left hand frame only in the above code - again this is down to your own preferences but these attributes as they are shown in the above code stop users resizing the frames and also prevent any scroll bars appearing in the left hand pane if the user makes the browser window too narrow.
Remember that if using frames visitors to your site can't bookmark a particular page, only the whole frameset so they'll always see the home page first. There are other issues but I won't go into them here.
You can use tables instead of frames (for an example of this, see the main page of this here site) which will help with issues such as bookmarking - if you do that you're best off making a template that has the general layout and the menu, and then use copies of that which you can add text to before saving as separate pages.