Arguments for CSS against TABLES

  • Thread starter Thread starter ~J~
  • Start date Start date

~J~

~J~

Soldato
Joined
20 Oct 2003
Posts
7,558
Location
London
Was going to post this in the GD section, but feel it more appropriate in here.

After a bit of advice, ideas, etc regarding an ongoing occurance at work which I've warned about for years and only now is starting to cause problems.

Can I PLEASE ask that the usual 'because this is better than that 'cos that's what I was taught with my PHDmk3 Diploma Degree from Oxford but I've got sod all experience of the real world" arguments are just not simply raised!

Right:

Got a lad here who's worked for the company for 6 years. He's bloody good at his job, does some fantastic artwork and some gorgeous webpage layouts. Customers are really really satisfied with his work, and what's more, can churn out these lovely designs quite quickly.

But he has a problem: He just point blank refuses to use CSS to layout pages and as such a typical webpage can contains literally dozens upon dozens on embedded TABLES, TRs, TDs, etc, etc.

When I come to add my code for forms or what-have-you, it's an absolute NIGHTMARE going through all these tags, and last week spent the past part of 2 days trying to incorporate a simple data grid because the main page had a TD for a 5px graphic, another TD with all sorts of attributes set for it's width/height, several TDs for a shadow, blah blah blah.

Past few weeks however, we're getting more and more, not complaints, but more 'concerns' that customers websites aren't looking good in IE8 and even "Compatibility view" isn't rendering them correctly.

Javascript errors are more abundant now because of the way IE8 handles tables, and even running the pages in Firefox and/or Opera, you can see the cracks and flaws because they've just been designed and laid out in a 100% TABLE within TABLE manner.

I'm trying to find some constructive argument to present my boss as to why our designer should be going down the CSS road, and the designer is literally digging his heels in saying that a TABLE is a TABLE and the browser renders it accordinly, CSS isn't any better it's just a 'prefered' manner.

The only argument I can fully agree with (hence the real world guys here among us will probably relate to) is that he says he just doesn't have time to learn about CSS for layouts, and he can quite easily (and quickly) draw out everything he needs using TABLEs in DreamWeaver, size it all up, fill in the blanks, etc, etc.

But from my point of view, it's taken 2, 3 sometimes 4 times longer to incorporate my code, IE8 and FF are starting to 'complain' about the rendering techniques and the designer is simply applying more and more TDs, TRs, etc to fix these 'visual glitches' making things twice as bad.

And from a customers point of view, sites aren't being shown 100% on a myriad of browsers but the designer is just merryily adding a TR here or expanding a WIDTH there to compensate for all this.

Any thoughts on how I can tackle this?
 
Are websites written in pure html as pages or is the html generated by for example php or perl?
 
Are websites written in pure html as pages or is the html generated by for example php or perl?

Nope, no dynamically generated pages. 99% of them are ASP pages as they are generally pages for a portal so need header information like session variables etc.
 
The main arguement is that it is 2009, not 1999, and anyone who considers themselves a web designer should have a decent understanding of how to use CSS. If you're going to achieve proper cross-browser compatiblilty then he's going to have to ditch tables for layouts.
 
The main arguement is that it is 2009, not 1999, and anyone who considers themselves a web designer should have a decent understanding of how to use CSS. If you're going to achieve proper cross-browser compatiblilty then he's going to have to ditch tables for layouts.

Agreed.

I think the basic argument is that tables were never intended to be used as a layout mechanism for a whole web site - they're really designed for displaying tabular data and should only be used for this purpose. Using multiple nested tables to achieve complex layouts etc produces hugely bulky HTML code compared to the same layout done using CSS. CSS is far more efficient and elegant way of doing things.

I will say now that there are plenty of pitfalls in trying to get CSS layouts that are consistent, but these days, most modern browsers like Firefox, Chrome, Opera, Safari and IE8 are all standards compliant and will display CSS the same way. IE6 is the major thorn in CSS's side and can require jumping through hoops but it's something we have to live with until no-one uses it.

The industry has adopted CSS as the standard and I think your designer will just have to swallow the pill and change over. Just allow time to get familiar with it.
 
I used to be the same when designing sites, refused to use CSS over tables, but when I actually did start using it, it opened up the possibilities of site design immeasurably.

I think you should say to this designer, if he is designing fairly decent sites using table tags, imagine how good the sites would be if he incorporated the flexibility of CSS.
 
Hmm I'd get him to come up with the PNGs/PSDs and let someone who knows what they're actually doing come up with the code.

CSS works better from an SEO point of view as it results in less code making the whole of the content more likely to be indexed. Pages will load quicker as all the styling information is in a separate style sheet which loads once and is cached, which makes for a faster site, uses less of bandwidth, Google prefers it etc etc If your company isn’t charging people for SEO, then they should be, it can be mega money if you can prove results.

How on earth does he do site wide updates? It doesn’t surprise me though. The number of clients who’ve had sites designed within the past 12 months who come to us because they’re not sure it's working, only to find it's been built with something like FrontPage 2000 is alarming... HOW DO YOU PEOPLE SLEEP AT NIGHT! Ignorance is bliss I guess…
 
Agree with every point mentioned.

I won't give an actual URL example because I don't want to flaunt the rules here on advertising, but one site in particular has a header, 6 'tab's, a left hand navigation panel, a right hand 'testimonial' panel and the centre has about 8 or 9 'boxes' with products in.

That entire page is about 900lines of HTML (of which the majority is TRs, TDs, etc, etc) (46939bytes in size), and because it's quite a large(ish) size, when the page is loading the left hand navigation pane shows first, then a second or two later, 'pops' into place as the rest of the page is rendered.

Gonna have to try real hard to get him to change, the SEO argument is a good one, but then again his fall back on this is that the sites themselves are generally portals so don't need high Search Engine results as they are used predominantly by customers/clients who just need a 'nice' site to use.

The major stumbling block is the IE8 and newer FF browsers which just seem to really complain at the layouts using TABLES, but trying to come up with a definate argument against when he's just going in and patching them left right and centre is certainly a hard one to win.

But thanks folks, appreciate the feedback, all noted.
 
46k???? In HTML??? What the eff, Jeff??

Even back when i used to use tables I swear to god my most complicated page never hit 30k.

The biggest factor your boss will probably listen to is cutting down on development time, especially on amendments which have to be made at a later date.
 
a few points to why I prefer CSS over Table layout.

  • Separation of Design/Layout from content
  • Graceful degradation - i.e. older browsers and mobile browsers will still see content easily (or at least more easily than fixed table layouts)
  • Multiple resolution support/fluid designs are just impractical with tables
  • Ease of maintenance, and re-use.
 
[...] his fall back on this is that the sites themselves are generally portals so don't need high Search Engine results as they are used predominantly by customers/clients who just need a 'nice' site to use. [...]
Well, that's alright, then. As long as all the users are happy.

Oh wait.

Customers/clients are users... but they're not the *only* users. As you've pointed out, ~J~, you and other colleagues who have to maintain and develop his sites are experiencing user-unfriendly code. You're approaching it from the back, sure, but you're still users.

He is letting users down because his inability - or stubbornness - to learn new 'tricks' is taking precedence over his professional responsibility as a designer to his users.

It's clear, from what you've said, that he has some skill when it comes to pretty layouts, but it's equally clear that he doesn't understand website design; if he did, he'd have taken one look at CSS and gone "yes! I need to know more!". In essence, he's not a designer, he's a decorator.

As others have said, pairing him up with a competent coder would be the best solution. If he can't face up to his professional responsibilities as a proper web designer/coder, the coding reins should be taken from him, as it will inevitably cost the business. I can't see those in charge being too happy with that.

There are plenty of 'lists of reasons' articles on the web, as I'm sure you know. Here's just one: http://www.chromaticsites.com/blog/13-reasons-why-css-is-superior-to-tables-in-website-design/

Incidentally, I've got 9 years' real-world experience, and sod all PhDs ;)
 
Last edited:
Surely when everyone starts using CSS3 more, (tho most browses will read it now), then he'll have to use CSS and not tables or he'll be missing out on all the advantages?
 
Surely when everyone starts using CSS3 more, (tho most browses will read it now), then he'll have to use CSS and not tables or he'll be missing out on all the advantages?
I think his only problem with 'all the advantages' is that there's a big fat hill o' learning in the way that he doesn't want to climb.

He has his routine, and doesn't want to upset it.

Seems odd that someone purportedly interested in design isn't showing any curiosity; I think it's an essential trait. But hey ho.
 
Yeah, thats a little rubbish that you have a guy there that has zero interest in learning a simple new technology. What happens when there is something else that you want him to be able to do that requires more learning.

Either get him to learn CSS or get a person who takes his PSDs and does the markup.

Or....


Fire him and get someone better.
 
Last edited:
I think you should try to convince him to give css a try. I too used to work solely with tables and I even stopped working for a while because I was so put off by all this css stuff and could never quite understand how it worked on websites.

But then I just got on with it and spent a few days covering the basics and now I cant work without css! I was surprised how easy things were. Sure there were still problems with IE6 but I think everyone has moved on from that to at least IE7 now which handles the css pretty well. Most using IE8 now anyway which doesnt seem to have major issues.

If your boss wants an incentive, tell him he can ditch the dreamweaver software and save cash as that is just not needed. A good designer/coder should be able to sit in notepad or something similar like notepad++ and just code everything using css. In fact I find it easier.
 
We have just taken on a new chap at work and he used dreamweaver for all the layout aspects of websites before he joined. He still uses dreamweaver but we have beaten the dependency on the auto code generation out of him. He seems to be happier doing it this way as well now.

Its certainly much more rewarding than using a GUI to build your sites from sliced PSDs.
 
Stopped using Dreamweaver now, however the only nifty feature I liked in it was the way it would automatically find and close tags for you when you typed "</". I coded a lot faster. Started getting annoying after a while though. Can't beat good old fashioned manual input ;)
 
Slightly OT, but still relevant to the thread...

xiphrex said:
Sure there were still problems with IE6 but I think everyone has moved on from that to at least IE7 now which handles the css pretty well. Most using IE8 now anyway which doesnt seem to have major issues.
I wish that was the case, but IE6 still has enough of a market share to be an annoyance. The most prevalent browser is IE7 - although on a big slide for the last few months. IE8 is on the rise quickly, but is third behind IE7 and FF3.

Exhibit A
 
- Quicker to create pages (once you know how to use it)
- Pages load faster.
- Easier to make amendments.
- SEO.
- Accessibility.
- Considerably easier to maintain consistent styles sitewide.
- Clients are starting to actually ensure they are getting CSS driven layouts. They may not really know what it means but when they read that CSS has all these bonuses, they want it.
 
Back
Top Bottom