Hi! I'm new both to this forum and to designing websites. I'm a total n00b who has only been using Dreamweaver for three days, but I've been trying to learn the basics of site frames based off Dreamweaver's templates. After playing around with different CSS styles, I managed to throw together a basic layout: Now here's my problem: I want the links in the left sidebar to load the pages in the centre (the green part). I know you can do this with frames by creating a frame set, but the frame set takes up the entire screen, and this example was created with CSS boxes. The container (the entire content) takes up 80% of the width of the screen. So I need to know how to create a frame set that takes up 80% of the width of the screen, or else load pages in the centre box as if it were a frame. Forgive me if this sounds unclear.
First let me say that a frameset is the LAST thing you would want to use to make a website layout. Having said that, what you would have to do (if you decide to ignore that advice) is figure the rows and columns of your frameset to accommodate your left and right margin 10 a blank column of 10%. <frameset cols="10%,80%,10%"> Inside your 80% frameset, you will place another frameset which will define your site content.
Got it! I tried adding that percentage code to my frameset and it worked great. Incidentally, what's so bad about designing a site with a frameset? Is there an alternate way to load pages inside CSS boxes instead?
Using framesets has several disadvantages, I'll list a few of the big ones: SEO- The index page is just the Frameset and has no content in it for the search engines to find. SEO (part 2). The URLs make no sense. In a normal site, you could have yourdomain.com/services to show your services. However, with a frameset, you would have to go to yourdomain.com and click on "Services" but the URL would stay the same. Also, the user experience is bad from a navigation standpoint. The "Back" button becomes unpredictable because it depends on which frame is active when it is clicked. It might go back in the content or the navigation frame (depending on which one has the focus). Now, let's say that a user wanted to share your "Services" page. They go to that page and copy the link. But, when they share the link, it goes to the homepage because the URL does not change on a frameset. To get the best user experience and SEO, you should have a folder structure that matches your site structure with an index page in each subfolder: yourdomain.com/services yourdomain.com/products yourdomain.com/members This means something to the search engines as well as users. You could also do this with javascript by using AJAX to load content into a div on the page but you run into the same problems that you have when using framesets. It will, however, make you look more professional and modern than using framesets which were abandoned in the 90's
You make good points. I'm still a n00b, so I'll leave the Javascript and AJAX stuff until later. As for framesets, perhaps I could use them in a limited fashion? For example, say I link my homepage to an art gallery webpage, which is a frameset with two frames: a top frame for thumbnails and a bottom frame to display the images. Does this sound like a more sensible use of framesets as opposed to the whole site?
That sounds like a better use of frameset on the surface but there are plenty of image gallery jQuery pugins available that would do the same thing without using deprecated frameset tags. The bottom line is that no one is using frameset anymore and there are plenty of good reasons not to. The time that you spend (waste) learning to use framesets could be spent learning to use plugins instead.