By using this site you agree to the use of cookies by Brugbart and our partners.

Learn more

Tables vs CSS-P

Should you use CSS alone? Or is it fine to use tables at times?

Edited: 2011-08-17 05:24

CSS-P is used to describe websites that fully uses css for everything, even where it would be fine to use html tables. The tables will often be replaced with other elements, such as the html div tag.

It should be noted, that there is no advantages from using css for everything.

Tables for Layout

In most cases, you should not be using tables. There however is some exceptions to this rule.

Some layouts require workarounds, and hacks to work, these can be considered unsafe, since they have been known to break in new browser versions. This would again call for the web designer to fix the problem in the new version, which again costs money.

CSS for Layout

Some layouts are however considered safe, since they make use of standard behavior, and this would be a good example where to use CSS instead of tables.

Of cause there might be cases where older browsers are unable to render the page as intended by its designer, but that's not something we should worry about.

3 Equal Height Columns

Equal Height Columns using Floats

There now is a method to create such layouts using css alone, which is also considered future safe.

Fluid Box with Borders

Fluid Box with Rounded Corners

Creating a Fluid Box with Rounded Corners is Possible using absolute positioning, the technique is considered future-safe.

When to use Tables

While most web designers have their own ideas of what to consider tabular data, and while i haven't found any official rules we can follow, i do think that its obvious in a lot of cases.

Regarding Forms

Depending on the form type, it might be okay to use tables. But for comments and posting on forums, guestbooks, and blogs, i would say that its better to use css.

search engine results page

This would be another place where it would be okay to use tables, but only to display the results.


Charts are used to display information, or instructions. And would be a fine place to use tables, it may even require less coding then using css.