Flutterby™! : Evil tables

Next unread comment / Catchup all unread comments User Account Info | Logout | XML/Pilot/etc versions | Long version (with comments) | Weblog archives | Site Map | | Browse Topics

Evil tables

2002-02-13 18:25:48+00 by Dan Lyke 12 comments

Dave Winer asked "are tables really evil?". While attempting to answer that question, he links to Owen Brigg's Design Rant, which says, in part:

The combined resources of MS, AOL, and Opera have failed to give us any browser that fully supports a 1996 spec, and they have succeeded in giving us a series of browsers that each have different rendering bugs.

Was it Donald Norman who pointed out that if humans are consistently misinterpreting an interface, perhaps better training isn't the solution? The one thing I do really like about CSS is that unreadable CSS pages (like the aforementioned design rant) become much more readable with Ctrl-G under Opera than without. Just make sure it's usable in Lynx and let it degrade. That having been said, Flutterby will probably go CSS in the near future.

[ related topics: Web development Dave Winer ]

comments in ascending chronological order (reverse):

#Comment made: 2002-02-21 05:35:19+00 by: Mars Saxman

Tables are evil because it's a pain in the ass to get them to work properly. I've been working on a new layout for Edgecase. It's been table-based for years, and not only have I never been able to get it to flow around the page properly, but it's a ton of work anytime I want to change anything.

So I threw it all away, more or less, and started over with a CSS based design. It's a joy. I don't care how much time I spent learning how to do the table hack - I am never going to do a layout like that again. The CSS-based code is simpler, easier to read, easier to write, and almost ludicrously robust. It also degrades easily. No fonts? No color? No css-positioning? No problem. It even looks good on Lynx.

I don't care what the design gurus say; I like CSS because it's less work and more fun.


#Comment made: 2002-02-21 05:35:19+00 by: Dan Lyke

Yeah, I'm going to use CSS because it lets me float a few elements. Unfortunately, since CSS gets converted into tables in the rendering engine I've still got to be careful about 4.x browsers and things running off into text, but I think I can make something that I like, but that the rest of y'all find prettier than the current setup.

#Comment made: 2002-02-21 05:35:19+00 by: Dan Lyke

And under Opera for Linux 6.0TP3, your new Edgecase layout runs the subtitle over the title graphic.

#Comment made: 2002-02-21 05:35:19+00 by: Larry Burton

Mars, try using the margin-left attribute to align your slogan and masthead. Since the graphic for your logo is your background there is nothing for slogan and masthead to float right of. Make the margin-left attribute for these about 350 to 400 and it should work with Dan's browser.

#Comment made: 2002-02-21 05:35:20+00 by: Mars Saxman

Thanks. I'll give that a try.


#Comment made: 2002-02-21 05:35:21+00 by: Dan Lyke

Or drop your logo graphic in its own span with an alt-tag, so that it degrades nicely in Lynx.

#Comment made: 2002-02-21 05:35:21+00 by: Larry Burton

Nah, the logo that the slogan and masthead is overwriting is just a graphic of the title. Lynx will display the title then the slogan then the masthead. With the logo being in the background graphic the design degrades very nicely in Lynx as it stands.

#Comment made: 2002-02-21 05:35:21+00 by: Dave Winer

Dan, what do you think? Are tables evil?

#Comment made: 2002-02-21 05:35:21+00 by: Larry Burton

Dave, you addressed that to Dan but I've never been one to keep my opinion to my self. Tables have their place. When they were first introduced I thought they were the greatest thing since sliced bread for layout. Of course at that time WAP was just a suggestion and people only used Palms for keeping up with addresses, their calender and a todo list. Also I didn't have anything else to work with then. Tools are better now and there are reasons to use these tools.

But are tables evil? No. I think they still have their place for displaying tableture data, like a calender, a comparison grid or even a graphic with a caption and, personally, if you design your site with tables and I like the content and I read it on a computer in a browser that renders it in a friendly manner I'm happy. Just don't ask me to maintain a site using complex, nested tables just for formatting or to read such a site on my Palm. It just doesn't make sense.

#Comment made: 2002-02-21 05:35:21+00 by: mathowie

Tables are great for tabluar data, that's what they were designed for (and why they are a feature in apps like Word).

What I don't understand is people's unwillingness to recognize the importance of separating content from presentation. A basic tennet of SGML is to provide a clear separation of data from style through the use of stylesheets, and XML wouldn't exist without SGML laying 30 years of groundwork. But if people want to throw that all way because some design kids came up with some layout hacks in 1995 to make Netscape 1.1 do what they wanted, thereby keeping their data trapped in presentation code, that's their decision to make.

#Comment made: 2002-02-21 05:35:21+00 by: Dan Lyke

If I thought that anyone was using semantic information, I'd include it, but given the huge ratio of people who don't care to a few semantic pedants, working on natural language processing seems like a better direction to go in separating content.

#Comment made: 2002-02-21 05:35:25+00 by: Shawn

I've observed it before, and I guess I'll probably continue to do so, but I guess my brain just works strangely. I find tables *much* easier to use (as a web programmer) than stylesheets.

Yes, stylesheets may provide more power, but that comes at the price of more complexity. I have to define and keep track of every little dimension and element if I'm using stylesheets. I have to worry about elements overlapping and such. With tables, I just slap it down and I know everything is going to line up the way I want it to.

I use tables for basic layout, and then stylesheets for fine-tuning and nudging things into place.