CSS versus Tables


Tables are typically thought of as a way to organize data or information so that a viewer can easily understand it. And, of course, this means tables can also do the same for organizing the structure of a Web page. While it can be done, it is no longer the preferred way to create the structure of a page.

There are times where it just seems easier to organize a page's content using a table. Certainly, it does work and there are numerous examples on the Web of sites that have effectively used tables to design their pages. The table's structure, the familiar intersecting block arrangment most of us have used to make graphs, enter data into, or fill out our check books, can place specific items in predictable places on a page.

One thing to consider is the browsers viewers are most likely to use. Older browsers, such as IE 5 and 6, do not do such a great job sometimes rendering CSS. For that, tables are a clear winner. Still, how many people do you know that use still use a browser that old?


Cascading style sheets (CSS) provides another way to organize the elements on a page. In addition, new standards prefer table-less designs and pages without numerous nested tables tend to load faster. But, it is the clarity of the code that usually makes CSS structured pages a hit with designers and content managers. Less code to wade through simply means it is easier to find where a change needs to be made.

We are not so adamant that tables are never used, except for tabular data. Tables can be a simple, quick way to do things with a site. But we generally feel that CSS provides the best in convenience and value for our clients when it comes to changes or site redesigns.

Is the future one of pure CSS? Quite possibly, yes. Still, those in charge of creating the standards for CSS sometimes mess around too long, a bit like the U.S Congress, in their attempts to get things done. As a consequence, we may continue to see some variances because some software makers are not going to sit around and wait in order to utilize a new feature.