I took quite a bit of heat when I dared write my post on CSS vs table layout. Keep in mind it was a tongue in cheek post meant to identify the problem with fanatical design opinions rather than taking up the side of tables for layout.
One of the arguments that came up was that layouts should be done in CSS because that how they were meant to be used. I personally think doing something simply because it’s the way to do it will lock you in a box and hinder creativity. Knowing the why though will let your creativity flourish.
Anyway, I’m writing this post as a form of redemption. This is why I only use CSS.
Most people will admit that they want to be cool, and the coolest designers out there are using CSS. Besides, one of the first mainstream sites to go all CSS was ESPN.com. Now you can’t get any cooler than that.
Now for all you old fogie designers out there that started in the days of 56K modems or earlier. Tables are so last decade. Get with the times. With web design it important to use cutting edge skills not what you learned when todays designers were in elementary school.
Microsoft doesn’t even like Internet Explorer 6 anymore. The more you work with CSS, the more you’ll curse the 17% of users that refuse to upgrade.

With each announcement for a new browser release you’ll pray long and hard that there aren’t any major changes to CSS handling that will require you to spend hours or days reworking every site you ever designed.
You no longer have to force your tables and layout to behave by utilizing a spacer gif. Kill it and bury it.
Who doesn’t like free stuff. There are so many good resources for CSS that you can get every thing from templates to navigation for free. But, you won’t be able to tweak any of it if you don’t know CSS.
Tell me your reason for exclusively using CSS.
![]() |
![]() |
![]() |
![]() |
It’s not about being “cool” as you repeatedly say in your posts.
Its about accessibility, flexibility and faster rendering of pages. You can virtually do anything with CSS these days, which is more than I can say for tables..
Jason, thanks for your comment. Please read past point number one. I think all your points are in there too. You have to admit that CSS has a slight cool factor, or at least it used too.
Glad to see you mentioned the spacer gif… that is something I really, really, really don’t miss about old school layouts.
Ryan, I still get a shiver when I think about them. Thanks for the comment.
Sometimes one has to use tables and other times CSS. To only use CSS for everything is impressive but I don’t have the time to invent new ways to do something thats works in tables in two seconds.
Mix CSS and tables and you will be your customers hero if you work by the hour.
Not only is table layout so last decade, it’s so last century.
Art, I can’t argue with that. Thanks for the comment.
I do like seeing a sense of humor here.
Frankly my impression of CSS advocates used to be someone who turned in work late and over-budget while waxing philosophically about how it would somehow be easier to update later (and yes their updates were also late and over-budget). It was only when I found Firebug, that I finally saw how developing pure CSS layout could be faster.
I don’t feel CSS breaks very elegantly. For example it’s easier to tell that a row is too wide, when the row actually becomes too wide(rather than dropping an element down and pushing other elements around the page).
I work a very intelligent group of programmers. Occasionally they are tasked to do some minimal layout when I am busy and they struggle mightily with the simplest of CSS bugs.
Now that CSS has won the war, I hope we can start focusing on why it still isn’t optimal instead of becoming defensive and arguing about tables for non-tabular data.
Craig, in my opinion browsers still have a long way to go in how they handle CSS. They have made great strides, but they aren’t there yet. Thanks for your comment.
Haha, I like the humor of this post. I learned web design by using tables and I had a hard time making the switch to CSS and divs. And I used to make all the arguments for tables- what’s the big deal, it has fewer problems with layout, it looks exactly the same anyways.
But after working with CSS for so long there’s no way I would ever layout something with a table again. It’s faster to write, more flexible, yada yada. You listed the reasons above.
As for hacks, if you work with CSS long enough you learn how to code everything to avoid using hacks. At the worst I have to implement maybe three little hacks, it’s not a big deal.
But there can be a great deal of snobbery in the CSS-only camp, which is why this post made me laugh so much.
Jess, making the switch from tables to CSS can be hard, but it can be easy if it is done in steps. As far as the snobbery, I just call it the way I see it.
Thanks for your comment.
I wasn’t aware that there are self-respecting designers out there who still use tables to build web sites!
The shame!
same as Jay said
the debate over CSS vs Tables was hot in the 2005 may be
I wouldn’t say it’s over. I see the question pop up in forums all the time. Besides it’s fun to rile up the design crowd.
I use CSS to format my markup because it works for me and it’s what I’ve been doing for as long as I can remember. I learned to use CSS because it was challenging at the time compared to tables, and I think most of us like to challenge ourselves.
There are still things tables can do for layout that pure CSS simply can’t handle. For these instances I use javascript (It’s acceptable now, right?).
R.I.P. Spacer GIF.
Greg Johnson’s last blog post..The WordPress.org theme directory sucks