Tables VS CSS - I"m Tired of the Whole Argument!
Tables will always be there for creating tabular data for the simple reason that they are a whole lot more efficient at that task then CSS.
Plain and simple.
In response to the debate that IE screws things up and Mozilla is God and statements like that, too many webmasters miss the point of their jobs.
The world is a messy place and it is your job to see to it that visitors to your clients' sites are able to see the site with reasonable correctness and that they are presented with a clean design and decently organized information.
If this means that you have to use tables as needed to ensure cross browser compatibility, then so be it.
In my opinion, it is not a sin to use tables to create a basic site skeleton and then use CSS to decorate and organize the content within.
I have had much greater success with this approach and my sites' layouts stand fast regardless of the browser.
Using strictly "div" tags for everything, while cool and techie sounding, can get you into trouble with some browsers not properly handling width values and things like that, usually resulting in the whole layout blowing up in one way or another.
When I refer to the skeleton of the page I usually restrict this to a top area for the logo.
Below this there is the menu area on the left (or right) and the main content area next to this.
At the bottom I have the standard footer area.
By using a simple table layout for these basic elements and specifying the widths involved, I am assured that at least the orientation of the vital elements (logo, menu, content, and footer) are in their proper place.
An example of the simple wrapper that I use is as follows:
Consider it to be similar to the noscript and /noscriptto have an alternate to your javascripting for visitors with that disabled.
For all the content within this basic table structure I use fairly exhaustive style sheet instructions that define borders, text decorations, margins, all that sort of stuff.
This is a strategy that allows me to quickly and accurately build pages for my clients and one that ensures that they load properly in the broadest range of browsers possible.
For me, entertaining the argument of 'compliant browser this' and 'noncompliant browser that' is not what my job description is.
My customers don't care about these issues and I am not being paid to complain about them either.
What I am being paid to do is to create good looking, easy to maintain, and functional sites that make my client money.
Like I said, it is a messy world out there and you are expected to produce results because you are the professional and pros do what it takes to get the job done.
That's why we get paid the big bucks.