Can we talk about web design?
Let's. Since I put up that CSS Box Lesson back in March I've been buried with email questions. A root confusion seems to be how we're approaching the web; what we think a web page is, and how this affects our layout choices. A lot of people paint themselves into a corner, quite innocently, and then get very frustrated that their layout won't 'work'.
Here's my thoughts on approach. I don't mean to be dictatorial. I'm just putting down my viewpoint to give people who want it some groundwork to build from.
'The Web is not Print'
This isn't news to anyone. But the web isn't screen either. Or more accurately it is print, and screen, and voice, and many other things. Right now it's December 2001 and chances are you're reading this on a PC or a Mac, so you think you're building pages for PC or Mac. Well, just stop. That's going to confuse the heck out of you as you build with CSS.
The idea of the web is to digitalize your message for a variety of retrieval methods -- for methods we have now, and for methods that we haven't thought of yet. The W3C, the standards body that creates the code we use, is taking a long view. That's their mandate. It's a reaction to the fact that the world is going digital, and if we don't have an open, common, flexible format to use, we'll lose our history every time technology moves on.
That's like language changing every five years. Forget Shakespeare. Forget the Hitchhiker's Guide to the Galaxy. They would be as unreadable to you as cuneiform. Just like much of NASA's 1976 Viking data. NASA can no longer read the format those tapes are in. Researchers are having to review that Mars data by digging through paper print-outs that older scientist hadn't thrown away.
Hence the W3C's specs can seem a little broad. They have to be. The W3C is engaged in a task that requires them to create code that remains open as they extend its capabilities. This is very hard to do, but the result is a cultural necessity for all of us. This is also why the specs can seem rather involved for just getting some pages on the web. It's not because the W3C is a bunch of artless geeks. They like art. When the need for extended graphic layout capability was recognized in 1995, they shipped CSS1 in 1996. They're paying attention, and they're very clever.
Right now the web is only 10 years old and they've produced specs for dealing with screen, projection, print, handhelds, braille, embossed (printed braille), aural, tty, tv, and machine reading. That's a lot. And our technology is just warming up. So the web code is of necessity very broad. It's not just about how things look on a PC or Mac.
You don't need to know all the specs to produce for the web, but you do have to understand this underlying framework or you won't understand how to use the code you do need.