I like how this article takes an in-the-trenches approach to comparing using HTML Tables vs CSS. Ok, truth be told, I like the article because I agree with it 100%.
I’ve wasted about 4 hours trying to be anti-Table and use CSS-P (CSS for div tags and layout) and have just gotten extremely frustrated — not because I’ve had to learn CSS for the 4th time in 3 years, but because of the browser compatibility issues. I firmly believe in the DRY principle. If tables are cross browser compatible, then I code once and get compatibility for free. I’m not going to dick around with browser hacks all afternoon.
Off to tables for layout and CSS for pretty fonts and colors…



i’m with you – i’ve spent too much time trying to get layouts to align just right via css (sans tables) to find out that it looks great in firefox but sucks in ie. and this is time spent just trying to get my personal to look right.
i’ll stick with tables for sake of time.
Well I agree and disagree with you on this one. I agree that CSS for layout has yet to attain the cross browser support that one would hope for – but this also used to be the case with using tables for layout. Coding cross-browser compatible HTML with tables for the 4.x generation of browsers incorporated similar hacks that you see now for CSS based layout. Using tables for layout design was a hack from the start – the original vision of the table element was a mechanism for displaying tabular data, not for layout. Also, anyone who has worked with table based layout knows that it is no picnic – once you’ve nested tables three deep you need to rely on proper indentation or the editing tool to figure out exactly what you are doing. But the bottom line is that it works.
The point that I think is missed in the article you reference is that the real goal of CSS is to separate the semantics of the data being presented from the presentation. In this sense – when implemented correctly – it is more in-line with the DRY principle than table based layout. The reality is that CSS is not completely perfect – but it is a step in the right direction, and I would look to use it over legacy approaches whenever possible.
Off topic – congratulations on your engagment.
I agree that CSS for layout has yet to attain the cross browser support that one would hope for – but this also used to be the case with using tables for layout
Where do these myths come from? Perhaps I missed something, but I was there from 1994 to present day, and this statement does not reflect my experience.
Using tables for layout design was a hack from the start – the original vision of the table element was a mechanism for displaying tabular data, not for layout.
Another myth. Check the specs thru time – they’re on the web for anyone to read. (Ironically this criticism *does* apply to using floats for column-based layouts).
The reality is that CSS is not completely perfect – but it is a step in the right direction
True, the reality is that CSS1 & 2 (bizarrely) do not provide a way of building column-based layouts, without resorting to using floats – a purpose for which they were not intended. It makes sense to separate styling from presentational structure, as far as is practicable. So CSS is a damn good idea. Not including the ability to build column-based websites (i.e. what everyone needs) was a damn bad idea.
, and I would look to use it over legacy approaches whenever possible.
Define “possible” ;-) I would look to use CSS-P whenever the benefits outweigh the costs compared with any alternative methods – i.e. based on reason rather than ideology, the same way one approaches any other technology. Just my 2p.
completely agree… i work for a major website and was getting myself geared up to try to do it all with CSS-P…for experimentation, i tried to “re create” a simple table with a header, 3 columns in the middle, and a footer with css-p. Oddly enough i got that up and running in IE in about 5 minutes…then it didnt work in firefox…so then i edited it…then it didnt work in IE…then edited it and guess where it didnt work again etc etc etc. screw that..maybe itll work in another 10 years…ill stick to tables for layout and css for some formatting. actually i kind of got the look that this page has right now, where one big div sits underneath another one. check this page in IE 6, it dun broke