Tuesday, October 12, 2004

Pure, table free HTML is not ready for prime time. That's where I come down today.

This blanket statement is based on the following assumptions:

  1. You are building web applications, not displaying content.
  2. You need your pages to be resizeable.

This page does not meet the above conditions. Yes, the content is displayed without tables. But this is not an application, and the content does not truly resize.

If you can use absolute positioning, and you don't care about resizing, go right ahead. But if you're looking to deploy your application to multiple browsers, and you really need that resize capability, you're going to get lost in your CSS. It reminds me of trying to build cross-browser JavaScript in the late 90s, and absolute nightmare.

You can get pretty close to perfection without tables, but the browsers fall down, most notably FireFox, when you squish your screen to the point of collapsing elements. Things get ugly in there, and the time investment required seems huge for the payoff of true display abstraction.

Go ahead, use tables, but use them sparingly. Put your table formatting off into CSS wherever possible. Wait patiently for the bold new day when all the browsers truly support the new CSS standard.