The [tables vs css] isue is a bit of a religious war.
Css is definitely the newer technology, and has significant advantages for flexibility & maintainability in a large site. Large commercial sites have a need, borrowed from advertising, to revamp their “look & feel” frequently, even though most of the real content doesn’t change drastically, or at all. CSS is perfect for that.
Tables have the advantage of being very cross-browser-compatible. CSS is not (yet?) implemented consistently across all browsers and you sometimes have to go to considerable contortions to create a css layout that works the same in, say, IE& & Firefox. In fact, often the best you can do is get two slightly different looks, but where each is internally consistent. And that’s not so bad unless you or your boss is fired up about pixel-perfect display of your precious advertising.
The BIG advantage I see in tables is that they react nicely to differering window sizes. Waay back in the dark ages, the idea was that the server provided data that was almost pure content and the browser controlled the appearance. IOW, when I as a webmaster in 1995 wanted to make some text emphasized I’d put it in STRONG tags. It was up to the browser to decide if that meant show the text n bold, italic, blinking red, or 1.5x bigger font. Back when some browsers were running under DOS or UNIX & others were under Windows or Mac, the differences in display capability were stark.
At least that was the theory, and some folks still today cling to the letter of the faith, like Orthodox who refuse to eat shellfish.
As a practical matter, almost from the git-go web designers tried to control both the content and the appearance. And one of the first innovations was using table tags to make content sections align neatly, borrowing the look of magazine pages.
But unlike a magazine, where every page is known in advance to be exactly 8.5 x 11", one thing you cannot control is how big the user’s browser window is. So your content has to adapt somehow to being shown on a different sized surface.
Some folks now have 640x480 screens; others have 2048x1920 (ie 12x as much screen space). Some folks’ windows are maximized; others aren’t. Some have a browser with 17 add-in toolbars visible, where even when maximized, the window space available to you is only 75% of the brwoser’s window size; others run in full screen-mode where yuor window is 98% of the browser’s window vertically & 100% horizontally.
Against that patchwork & chaotic background , you, or you boss, wants to control EXACLTY how your precious content looks. & ensure it always looks marketing-dept perfect.
As a simple matter of physics, that’s not possible.
One more point: Many users (>80% in some studies) are not able to comprehend horizontal scrolling. If you have content off the right side of the visible browser window, they will never know it’s missing, much less be able to recover it. If you have a paragraph that extends partly off the side of the screen, they’ll assume your site is “broken” or “incompatible with my PC” & just leave.
Most folks can understand and use vertical scrolling, but don’t use it during the discovery phase of browsing. IOW, while they’re skipping around your site trying to find whatever they’re looking for, they’re only going to read & heed what’s on the screen with no scrolling. Once they find what they think is the page they’re looking for, THEN they will probably think to scroll all the way through it as they read, rather than skim, the contents.
So how do we (ie you) square that circle between your need to control, the user’s uncontrollable viewing environment, and their general cluelessness?
A table-based design degrades more or less gracefully as users shrink their usable window size below what you expected.
A simple css-based design is broken at any size other than the design size; too small & they need to scroll to see it, too large & strange stuff happens.
A more complex css-based design can gracefully handle small changes (+/-10% say) in windows size, but tends to fail catastrophically (ie make a jumbled mess) under greater size-strain. The marginal effort to build size-flex into css can be huge. It’s just about free in tables.
In essence, the css model says: “Hey user, our content must be viewed at 1024x768; adjust your window size accordingly or suffer the consequences. WE control how you must view our content.” The table model says “We adapt to any practical browser sizes with ease. What matters to us is that you see our content. YOU control how you see it.”
Which of these two attitudes towards the user is better is a religious issue. There is no meaningful debate that css makes for better stylistic consistency across pages & vastly simplifies maintainability / changability. When a commerical site gets into the hundreds of pages, changability looms VERY large.
One last gotcha: CSS scores very poorly in “accessiblity”, the compatiblity of your site with the visually impaired. If you have any governmental connection you may be required by law to produce a site that works for the blind using voice-browsers. That can be a cast-iron bitch with css.
Nevertheless, industrywide the tide is driving away from tables & towards css.