CSS and Tables: The hype and the trends
The History of tables Before tables came along, the web was a pretty dull place. Using tables for layout opened up new vistas of possibilities of visually “designing” a page. It could well be argued that table based layout was responsible for the popularity of the web and the field of web design. Worse still, over the last few years, table based layout has come under severe criticism and was widely demonized. Web purists claim that tables were never meant for layout so one shouldn't use them for such. A rapidly progressive hype seems to be in the air all around.
Reality behind the hype Despite the fact that pioneers have been talking about web standards for a long time, the majority of web sites are still developed using tables and non standards compliant code . History has shown many examples of technologies that started out life with one purpose, only to end up finding more practical applications as something else. And it sounds very apt in case of tables. The web itself was never intended to be a channel for edutainment, marketing and information but for sharing research data. Using tables is a pragmatic approach, if not preferred The W3c Web Accessibility Guidelines recognize that designers will continue to use table for layout - and so include information about how they can be implemented in the most accessible way.
Designers are not going to immediately stop using tables for layout; mainly owning to the reason that this is the default behavior of most WYSWYG (what you see is what you get) Web design packages and; CSS for layout is so difficult to implement successfully. Moreover, Professionals still argue the use of tables for the layout of pages on the Web, despite the fact that this goes against current standards. They argue it to be a pragmatic approach – if not their preferred options. Let's explode the myths: CSS vs Tables Most web designers don't simply feel the need to switch over The majority of web sites are still developed using tables and non standards compliant code. Because of this, user agents will be forced to handle table based layouts for many years to come. This effectively negates one of the biggest selling points for web standards. That of forward compatibility. That's why, most web designers really don't feel there is an overwhelming need to start developing sites using CSS based layouts and standards compliant code. CSS development has a much higher barrier to entry than table based design While comparing table based design to CSS based design, the syntax of CSS, for sure, turns out to be is pretty easy. Nobody in their right mind would argue that you need too be a rocket scientist to learn CSS.
Nevertheless, some of the concepts can be quite tricky to assimilate. Continuing in the same spirit it is true that there are so many bugs, even the “experts” find themselves spending an inordinate amount of time bug fixing. For a novice this must be extremely frustrating. Not knowing if the problem is down to your misunderstanding of CSS or some obscure browser bug. Perhaps this is why many people see web standards as “Ivory Tower” and why many web standards advocates come across as having a sense of superiority and a zealous attitude towards web design. Some things are just easy-to-do with tables People often find themselves writing fairly complicated CSS to do something that would be trivial using tables. Take form styling for an instance. It's possible to lay out even very tricky forms using tables in just a few minutes. You can achieve similar results by floating elements with CSS, but it's a lot more involved. If you're a CSS guru it's all part of the fun.
However if you're a regular mortal, it can be incredibly frustrating. Another such thing is page footers. It's pretty easy to do using tables. Whilst doing this using CSS alone, it would hardly be any wonder why web developers turn their back on CSS when even simple things are rendered so If you have the knowledge and patience, you can do most things using CSS that you used to do using tables. Sure it may take you longer, but you'll get there in the end (or die trying). CSS benefits. But does it provide you what you need? It's true that switching a large site to a CSS based layout can save a huge amount of bandwidth. However, for most sites, this saving would be insignificant or mostly irrevelent. People want fast loading pages and many advocates have suggested that CSS helps accomplish this. For most sites, the “design” is spread evenly across the whole site.
However with CSS based sites, the “design” is usually held in one or more external files. These files can be fairly complicated, and even for a simple site, can get big, or even fast. Search engine friendliness: CSS vs Tables It's true that the search engines like semantic pages. It's also a widely held notion that search engines like lean code. Building a site using CSS and web standards can defiantly encourage the development of search engine friendly sites. However it's neither magic bullet, nor a panacea either. There are many table based sites that score very highly in the search engines. It's equally possible to build a CSS based site that gets a terrible search engine ranking. The most important thing for high ranking is content and inbound links, not whether a site uses tables or CSS for layout.