Rarely does a day go by without someone bashing table-based design. Not long after the HTML <table> element was introduced, people started using it to lay-out their web pages. Before the days of CSS, people used tables so they could have sidebars and such.
Nowadays, we have Cascading Style Sheets, or CSS for short. With CSS, you can make amazing designs like the ones seen on Digg, The Leaky Cauldron, North X East, or Ars Technica. With a lot of effort, you can pull-off designs like that.
Table-based layouts are far from dead however (despite some peoples’ ravings). Take a look at TemplatesBox, one of the largest and most popular places to get free site templates. Notice that all of the pre-sliced ones are done with tables? There’s no doubt that tables are easier to implement, despite the advantages of CSS. There still quite a few major websites still using tables for layouts. Ever heard of Mugglenet? It’s the second-oldest Harry Potter news site. They’re pretty big, but not Yahoo-big. Would you have guessed that the shopping-giant Amazon had a table-based design? They do.
Tables have several advantages over CSS:
- They’re easy to implement.
- They work in older browsers (does anyone honestly care about Netscape 3 these days?) .
- Long-time designers are used to tables.
- 80% (okay, I made that statistic up…) of existing tutorials cover turning Photoshop mock-ups into tables not CSS.
- Did I mention that they’re easier to implement?
CSS, of course, has it’s own advantages:
- Loading speed.
- Clean code.
- Search engine compatibility.
- More features.
As you can see, CSS has some pretty good advantages. So why do people still use tables? Mainly because they’re easy to work with, and because some things just can’t be done well with CSS.
For those of you who keep raving about how tables are evil, or whatever: Cut it out. FYI, table-based designs validate when you run them through the W3c Validator. If done correctly, there isn’t much of a problem. Tables are okay for some things, though a lot of layouts are better done with CSS.
CSS is already the mainstream method for laying out designs, though tables are far from gone. I doubt they’ll vanish entirely, unless CSS gets some major improvements.
Which is better? CSS, though tables are still okay. I like tables still, though I’m starting to like CSS more and more. Eventually, I’ll stop using tables and change all my designs to CSS. Not quite yet, though.