Good Design = Appeal:
One of the most challenging parts of web design (in my experience) is making your site easy to navigate and attractive at the same time. It may be cleaner to have just a few links, but it also requires more clicks from the user for them to get around. So, you could add a link on your homepage for every single file you have on your site. That'll also get a bit clunky. I like to have a "navigational area" somewhere on the site that is always in the same spot no matter what page you're looking at. On this navigational area, I'll add links to all the major sections someone might need to get to from where they are. It's easy enough if you have a small site with just a handful of pages. But if you end up having dozens of different topics and subtopics, you need to carefully map out how your visitors will get around. I like the way Apple does it. They have a few tabs at the top, and each tab will take you to a page that has links to all the sub-sections of that tab.
There's nothing I despise more on a website than seemingly random blobs of information scattered all over the place. msn.com and yahoo.com drive me nuts this way. They both pack their front page so densely with boxes of information which don't seem to be organized at all. They're just trying to make it easy to get to the part of their site that you want to get to, but personally, I'd rather click one large, easy-to-find link called "Yahoo's Online Services", which takes me to a page with another large, easy-to-find link called "Yahoo Mail". I suppose if I used them more frequently, I'd get used to it. But Google has one search box, and only a handful of links. It's much easier to get used to that.
I also think a single web page should not have more than 3 or 4 pages of information on it. Less would be better, when possible. If there's a lot to say about something, divide it into multiple pages with logical methods of getting to the next section.
How to put stuff where you want it:
The way I see it, there are two ways to introduce structure to your page. You can use frames, or you can use tables. Each has its own uses.
Frames...
- don't move when you scroll around.
- allow the site to be divided into completely independant sections.
- usually look clunky.
- are not supported in all browsers.
Tables...
- are a bit looser than frames.
- allow for a seamless and more attractive interface.
- cause the entire page to move when you scroll.
- are sometimes ornary and don't arrange their cells correctly all the time.
For most applications, I prefer tables. If having a sidebar with links that stays in the same spot when you scroll is important, then you'll need either frames or flash (which I have no idea how to use). But as long as you make it easy enough to find the links (put them near the top, near the bottom, always on the same side, etc.) then tables will be easy enough to navigate. They're also a lot easier to work with than frames, and they don't require quite as many files. Ultimately, which one you use will depend on how you want your page to look.
An approach that I've recently become fond of is making one table that covers the whole page, from side to side. This entails getting rid of the margins, which you can do in the body tag like so:
<body topmargin="0" rightmargin="0" leftmargin="0" bottommargin="0">
Then for the table, start it like this:
<table height="100%" width="100%" border="0" cellpadding="0" cellspacing="0">
border="0" is important, unless you want lines to show where all your table cells are. As far as I'm concerned, the only applications which allow for table borders are just straight spreadsheets, and even then I like to illustrate the different cells with background color.
cellspacing="0" and cellpadding="0" aren't quite as vital, but that just assures me that the content will go precisely where I want it to go. If I don't specify otherwise, cell content will be put in the vertical center of each cell, and right up next to the left cell wall.
So far, all of this can be done with just HTML. But if you try to create a consistent layout on your website, you'll have to change each file every time you change that layout unless you use other ways of keeping it all in line. That's where CSS and PHP come in.
The Basics | Organization | Formatting with CSS Adding PHP | Some Fun Extras
|