I was browsing Reddit and came across this link. The comments are a mess. I’m honestly shocked that we’re even having this discussion anymore.
I won’t sugar coat it: If you’re designing sites with tables for layout elements, you’re doing it wrong. I haven’t worked on a table-based layout since sometime in 2002. Follow the standard, do your job, learn something new, adapt and do it correctly.
“What standard?” you might ask. Tables are meant for tabular data. Think Excel spreadsheet. That’s a perfect example of a table. The standard of developers that I respect and believe are at the forefront of the industry have been using tables for years. It’s not just at the forefront, either. You couldn’t work a day in a design firm without knowing and being comfortable coding tableless layouts.
Sure, use tables, don’t comply with standards, don’t validate your code. You’re part of the problem with the web industry. I have a feeling many of the people who are arguing for tables are backend coders, amateur developers or strictly designers who aren’t front-end developers. It’s not their job to know, they’re just tasked with doing it. Arguing with comments on Reddit is pretty lame, but honestly if your reasoning is that there are too many hacks, or you don’t care, then you’re proving how much of an amateur you really are.
Should I use tables for layout? No.
Update 11/13/2008: Smashing Magazine has an article about web standards and how to write code correctly. The comments turned into another tables vs. div argument.
Nice…but…tables do allow us to center blocks on the screen very easily.
You’ve got to be kidding me…
11 Responses
taotsu-pro
November 13th, 2008 at 8:36 pm
1gosh, i just had a look trough, after seeing your comment on css-tricks. its impossible! what the hack are people thinking?!
I cant even do tables for layout, and I dont want to. Want i was doing some “training” I was told not to use a doctype (useless!) and tables for layout are more secure, even though css is better, but flash is the best (?!?!?). well, that was in 2007!
Thanx heaven i just did this for the certificate and been reading more intelligent stuff since 2000!!!
Really sad those who use tables… the comments on Reddit could make me feel really depressed.
cheers from japan!
FLEB
November 14th, 2008 at 4:13 pm
2I think part of the problem, though, is that there still is no fundamental “layout” language on the Web. CSS is clearly more of a content-styling language, which contains enough positioning directives to allow layout, but the range of “hacks” and obscure structures needed to create simple positioning effects (three-column with footer is a “Holy Grail”?) just show that CSS was not intended to be a layout language.
It’s getting there, with the newest revisions– HTML 5 and CSS 3 seem to reflect the realization the the Web needs a more robust layout language– but backwards-compatibility drags down practical progress.
Joel Heffner
November 15th, 2008 at 10:22 pm
3Yes, I may be part of the problem. However, I think there’s a good reason to be part of the problem. I’m not a “coder.” I’m a person, like millions of others, who would like to create well made pages, but the tools I have to use aren’t meant to provide perfection. I use Dreamweaver MX 2004. To create a table, it takes a few clicks. If it was equally easy to create centered text using CSS, I’d be happy to use that too. When I search for tutorials on creating centered text using div, for example, I’ve found at least 4 different, and to be honest confusing, answers. So…unless you’ve got something for me to use that automatically does it or can point me to tutorials that are in English rather than CSS geek…like Dreamweaver makes tables…I’m sorry not to be perfect.
Mike
November 17th, 2008 at 10:35 am
4@ FLEB — I just have to disagree that CSS is not a layout language. Attributes like position, float, display, margin, padding, top, left, right, bottom give you all the flexibility that you need to position elements easily. I don’t know what you mean needing hacks and obscure structures to create simple positions… I’ve never had that problem.
@Joel — This article was more directed at people who claim to be front-end designers or developers than people who are hobbyists or learning development. Running MX 2004 isn’t helping you, because of its age. You would learn a lot more from hard coding your layouts instead of using the WYSIWYG editor.
I think this calls for a short tutorial on how to code layout with CSS!
Jason Zipperer
November 17th, 2008 at 2:07 pm
5Did anyone bother to read the source for the page. His content is wrapped in sarcasm tags! Hail to my fellow HTML geek!
Joel Heffner
November 18th, 2008 at 10:24 am
6>>I think this calls for a short tutorial on how to code layout with CSS!<<
As one who has sifted through many a tutorial, I have a little suggestion. Start with a simple Web page that is written in old fashioned HTML. The ideal starter page (like the simple example I put up at http://www.joelheffner.com/starterpage,) for me, would be a page that has a one cell table that is centered…with paragraphs within it. Then produce the same page using CSS. Folks like me can look at the code (and whatever explanation you care to provide) and try to figure out what it all means. Thanks.
Casey L. Jones
November 21st, 2008 at 11:58 pm
7You state “You couldn’t work a day in a design firm without knowing and being comfortable coding tableless layouts.”
Actually… most websites I’ve seen that were designed by agencies are all in tables and even worse, *gasp* NO DOCTYPE! Ugh! And these are the folks who charge an arm and a leg.
Sadly, most agencies are far behind in standards compliant design. They tend to focus more on bells and whistles whether than ensuring the website is accessible to all visitors.
Nikki
November 24th, 2008 at 12:18 am
8As a mostly back-end coder, I agree that ideally CSS should be used for layout, and tables used for tabular content. I follow those standards whenever possible. (when it isn’t possible, it’s because of my sucking at front-end design and lacking time to do it right)
I hate that the design tools I use for front-end design make it difficult to do so in a cross-browser way using pure CSS. I hate that MSIE is way behind the times (it still can’t even properly do flyout menus from OL/LIs; last I checked, you needed a javascript hack of some kind). Visual Studio and Dreamweaver make it far easier to lay out a page with tables than CSS. Dragging and dropping elements on a page and want them to show up right? Gotta use tables. Floating divs confuse them. Positioning elements often makes them overlap in a way that doesn’t let you click on them to get to the properties window.
Experienced front-end designers are excellent at getting things to work right (CSS Zen Garden is an outstanding example), but for smaller teams where the people coding the site have to be the jacks of all trades, the tools are inadequate, the browser issues are numerous, and tables let you get a site out the door far faster than spending a ton of time trying to get MSIE to behave. For everyone to get on board with standards, all browsers must actually support them, and the tools we use to develop have to as well.
Jeff
November 24th, 2008 at 5:17 pm
9@nikki: I’m not sure I buy that argument. I’m a designer and front-end coder mostly, but if I were a backend developer who needed to do front-end coding, I think I’d be inclined to master CSS/XHTML as well, if for no other reason than that they would augment my vision when it comes to backend coding/application development. If I were strictly a backend coder with no interest in design/front-end, I think I would wonder if my talents were being underutilized, and would probably team up with a front end coder/designer to fully realize my potential.
Point being, regardless of what brilliant application I might create, I would want someone on hand to steward the presentation and usability aspects of that process as well.
Gabe
November 25th, 2008 at 2:54 pm
10FYI - there’s a type-o in “designing” in the title of this post
Mike
November 25th, 2008 at 4:43 pm
11Oh crap. I can’t change it because it’ll mess up the inbound links.
RSS feed for comments on this post · TrackBack URI
Leave a reply
Looking to major in web? Check back daily to get your degree. Read about the latest trends, issues, and techniques in the web industry. Class is in session.
Popular
Categories
Show/HideArchives
Links
I'm a freelance web designer in Baltimore, MD. I'm currently accepting new projects.
© 2008 Web Major - A Wordpress blog about web design, html, css, jquery, and other tech ramblings.