Thinking inside the box

by Joe Gillespie — Oct 1, 2002

It doesn't work at all in older browsers, it is inconsistent and unreliable in new ones. As I showed last month, the current batch of popular WYSIWYG editors are not up to it. So why bother with CSS positioning at all?

Well, I might as well ask why skydive, climb rock faces, make bungee rope jumps? - It's for the thrill. To be fair, it's a bit more than that. It's the way things are going and in a few years time will be the norm. In this business more than any, you have to stay ahead of the game to survive.

So, CSS positioning!

You are probably using tables to position your text columns and images at the minute - I certainly do! Tables are okay, they suit certain kinds of layout and there are things you can do with tables that you can't do with CSS positioning.

But, tables are also grossly abused.

Some Web pages have nested tables, tables within tables within tables, that are a nightmare to maintain, waste bandwidth unnecessarily and cause serious accessibility problems. Unless you have a very simple grid-based layout, tables can also be very restricting.

If you check your pages with a good syntax checker or validator, you will also find that some of the table attributes you once took for granted, like 'height' and 'background images', are no longer valid and will disappear from new browsers at some time in the near future. Tables aren't going to disappear, but some of their attributes certainly are.

If you are using tables for positioning, keep them very simple and you will be okay.

Del.icio.us Digg Technorati Blinklist Furl reddit Design Float