Among web designer, the use of HTML tables is religiously prohibited for layout in favor of pure CSS. Sure CSS is great but concerning portability it’s often a pain to get proper results without a bit of tweaking.
The only way you can perform horizontal layout with CSS is through the use of floating elements and width properties. Even if I managed to make proper designs using floating elements, the stability of the result are often a bit… inpredictible, especially for Internet Explorer.
Web designers says: “HTML pages must only contains the semantic of the document and not it’s structure”. It’s nonsense. Float elements are not about layout, their primary use is for a block to float inside a text paragraph — like for images in a word processor document. It’s not really layout… worst, it take a lot amount of computation for the browser to render the page.
I’m not saying to give up CSS, but use tables for what they are, don’t hesitate to use them for the global layout of your web site. As soon as you need proper horizontal alignement, tables are great, they give predictible and browser compatible results. After all, the original goal of HTML was actually to structure documents, semantic went later.
There is a good article on the topic on the Apple Developer Connection site, Web Page Development: Best Practices. Interesting and pragmatic.
Web standards are great but since they’re are not yet fully supported, HTML tables are still a valuable tool for web designers… And ask yourself, how many time will you “skin” your web site? Never, I guess.



Add New Comment
Viewing 15 Comments
Thanks. Your comment is awaiting approval by a moderator.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Tables should be relegated to holding tabular data. We need to learn to design without them. CSS Beauty, Zengarden, CSS-website and others contain plenty of proof that the web no longer needs table based designs to produce beautiful layouts.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Most arguements I see for tables simply come back to the fact that they are "easier." However, as you learn the techniques and methods for using CSS layout you find that not only is it quicker and easier to develop sites in CSS (that render properly in all browsers), you can also achive several other very important results as well.
Try making a table based layout that can be switched between one and two collumn's for easier reading and visibilty.
Try creating a site that has the content structured for screen reading/search engines in terms of code, but visually is arranged astheticly.
I have yet to run into a situation where I wanted to develop a design that I could do in tables but not in CSS. You simply need to learn the methods and techniques.
CSS-P Does work if you take the time to learn it, and it will only get more and more adopted. Those who have already been using it will have a significant advantage over those who will have to adapt when tables are finally, and absolutely put to rest.
Do you already have an account? Log in and claim this comment.
Display tables in the css for non-IE browsers and playing with the padding/margins in IE.
Do you already have an account? Log in and claim this comment.
I use CSS for everything else, including all layout within a page. But when I need to look up a painstakingly researched HACK to get a column layout working in CSS across multiple browsers, then it no longer becomes a solution... it's part of the problem. Tables work in more browsers, are far easier to get working correctly without hacks, and do not need to be 'researched' prior to using.
I use CSS for all in-column formatting, because it does this well and without requiring hacks. But for column layout CSS is not yet mature enough to do this easily. It requires too many hoops for me to be comfortable with it. When CSS3 comes out, perhaps with better column layout features (and hopefully with better browser compatibility), I'll look again.
Myrddin
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
That said, I still use them (I'm not a designer, though) ;-)
Do you already have an account? Log in and claim this comment.
Since most clients change their mind often in the early stage of a project -- it's very likely that the site will have to change drastically -- I prefer to be pragmatic and reach my goal as fast as possible. After that, I agree to spend some time to rework on the site...
Actually, your view change quickly as soon as you have a business site in production... Better have to most pragmatic tools under your hands.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
So those people that don't switch have poor sensibilities? Interesting. And here I thought struggling through hack after hack and conditional after conditional to get a 3 column layout working in CSS without having it cave in on itself under anything but pristine laboratory conditions didn't make sense. Guess I need to start getting more sleep at night.
CSS - great for flexible application of style. Tables - great for dependable global framing. It's hard to argue real-world results, no matter how hard the CSS Jihadists try.
Do you already have an account? Log in and claim this comment.
There *must* be a CMS out there that satisfies your lust for table-less layouts, even from what's generated by the engine itself... no? I wonder why not.. hmmm...
Do you already have an account? Log in and claim this comment.
Amazon.com
Ebay.com
Linux.org
Apple.com
CNN.com
NYTimes.com
Google.com
Maybe we should boycott these companies for supporting such terrible web design standards.
Kudos to Fred for speaking up.
Do you already have an account? Log in and claim this comment.
That's what we call constraints. It tooks years for browsers vendor to stabilize tables rendering and it will take years to do the same for CSS. In the meantime, we can still make sites with standards in mind but with embracing production constraints.
Do you already have an account? Log in and claim this comment.
Add New Comment
Trackbacks