Of all the things that come and go in the web development world, it’s hard to tell what will stay, and what will go. Frames, animated gifs, and scrolling status boxes were once all the rage, but have went the way of parachute pants while other things like rounded corners stick around. So naturally you might be asking yourself, “should I go the table less route?”
I hate to sound like a coding snob, but by now you should be in your 3rd or 4th year of developing CSS layouts. Yet as I browse around the net, I see many brand new sites popping up all the time with tables. I suppose it is easier (especially if you use a wysiwyg editor) and faster to do things the old way. Even I was reluctant to change at first. But CSS layouts aren’t just another fad, they’re here to stay. And here is why.
Separating Content from Design
As web development has evolved, we’ve had to change the way we do things drastically many times. Remember when you used font tags? I can remember going wild with them, having a blast poring through hundreds of lines of html and doing long find and replace functions when making font changes. Then came CSS, and it was like a whole new world had opened up for us. You could suddenly change a font on every single page of your site from one line in one file. This was the beginning of the separation paradigm.
HTML is no longer used for formatting, and rightly so. HTML was originally designed as a markup language for sharing documents and research papers online. Early text-only browsers interpreted data and produced hyperlinks. When the mainstream usage of the web came along, graphic designers wanted to make pages look alive, and bring colors and images to the web. They used tables and spacer images to create layouts, and that worked for a while.
But soon, as tables become nested within nested tables, you had a considerable mess of code on your hands. Not to mention the extra bandwidth and loading time associated with complex tables. Maintaining these sites became a nightmare.
In the early 2000s, CSS was beginning to take hold with developers, and soon enough coders started using CSS to modify div elements as opposed to tables. During this early period browser support could be somewhat tricky, but hacks were quickly introduced.
Around 2006, tableless design really started to become a topic of discussion. Browser maturity eased some of the problems faced earlier, and it became much easier to put together full layouts with just CSS. This eliminated the problems associated with tables.
Now we have an html document that holds the data, and CSS to present it.
Code that is maintainable is important to any organization. This does not just cover “real” code like php or asp. Html can also easily turn into a giant mess that’s difficult to work with. By using CSS layouts the HTML doesn’t have to undergo nearly as much changes when redesigning or modifying (In fact, you can completely redesign your whole site just by working with the CSS). Not to mention when you have boatloads of table code and font tags in your html, going in for a quick change can be time consuming. With tableless layouts you’ll see much less html in the source files. Which brings us to our next reason.
More html equals more bandwidth. All those redundant tags, the nested tables, etc can really add up quick. They can slow your browser down as well, when it’s choking to assemble a page with a million tags all over. This can really improve your load times by converting.
With the multitude of broswers out there, it’s tough to keep up with all of them. Remember the days when pages in netscape looked completely different from IE? When you rely on html to present your page, you’re trusting that every browser will display things the same way. This of course is not usually the case. Not to mention once your page loads on to a mobile phone, who knows what you are going to get. What if a blind person accesses your page? These are are other things to consider. Websites that use CSS for presentation are generally more compatible with the browsers out in the wild.
CSS is here to stay!
If you are still using tables, it’s a great to time to stop. Start learning now how to build layouts using CSS now, because you’ll find a lot more sites out there designed this way in the future. As your customers bring you websites they want work done on, more and more of them will have CSS layouts. If you get a job as a developer for a company you’ll run into more CSS layouts. And if you want a job at a web design firm, you’re not going to be hired if insist on using tables.
So if you want maintainable, fast loading pages, that are easy to modify and look good on multiple browsers, it’s a good time to change. This is one “fad” that is here to stay, and I’m glad for it.