Let's face it: Tables suck. They may be great for representing tabular
data fields, but when they're used to lay out a Web page, they are a kludgy
work-around and one of the biggest abuses of HTML. So repeat after me:
HTML is a structural markup language. It should not be used to
control a document's visual appearance. Now repeat that 10 times before we
continue. Go on, I'll wait. La de dah de dum de da ...
OK, so now that we've got that over with, you're probably asking yourself, "If I can't abuse tables, how am I supposed to keep my pages from looking like NASA's latest report on stellar dark matter?"
Well, if you're a longtime reader, the first thing that will
pop into your head is cascading stylesheets. Using CSS, you can control the
color, size, margins, and presentation of most objects found on a page. Of
course, there are still many things you can't do without abusing
them in the same manner we once abused plain ol' HTML. That's where the
good folks at the W3C come in, with their proposal for positioning HTML elements with cascading stylesheets.
This proposal would not only allow you to place elements exactly where you want them, without interrupting the flow of your document's structure - just in case someone dares to look at your page with a Lynx browser or a cell phone. To further sweeten
the deal, Netscape and Microsoft have included support for CSS positioning in their current browsers.
Positioning behaves much like Netscape's layers but offers much more flexibility and control. While
layers require you to place specific tags around each element you intend to
position, CSS can be applied to almost any element. And because of this
flexibility, CSS positioning will become an essential tool for HTML
designers, production jockeys, or software designers who are writing HTML tools (hint, hint).