Frames and Tables

This is a very old page – I wrote it years ago. Don’t use frames or tables to build your webpage. That’s it, no need to read any further

Frames and tables are recognized methods of positioning content on a webpage. If you use a halfway decent HTML editor you can build and edit frames and tables fairly easily. You will find that the coding tags are recognized by most browsers and the range of options should cover most eventualities.

Unfortunately, neither frames or tables are particularly usable and frames in particular have the same usability value as a chocolate fireguard.


Go to any major site and you will discover that very few, if any, use frames. The reason is that search engines, if they do eventually index the site, regard each frame as a separate page. This means that somebody using a search engine can often end up on a page without the associated navigation links. As an example, a webpage using three frames may look like this:

This is the content of the page, the bit you want visitors to read.

But the search engine results page delivers this page only:

This is the content of the page, the bit you want visitors to read.

Although the information may be useful, there is no way to get to any of the other pages on the site – you have built an orphan page.

Conclusion: Do not use frames – Cascading Style Sheets will do everything you want frames to do.


What’s Wrong with Frames article from

‘Frames Suck Most of the Time’ says Jakob Nielson at


The logical structure of a table is to begin in the top left corner and read from left to right, one row at a time. This is perfect for tabular data and what they were designed to do.

But if you use tables to manage the structure of the page, then you can run into all sorts of problems later on when you want change the layout. You will also find yourself having to nest tables, split and merge cells and generally add all sorts of unnecessary code to make the whole thing work only to discover you lose half the page when you print it out. You can test this by putting a simple 760 pixel wide table on a webpage and printing it out – the righthand column gets chopped off. And that’s not good for the user.

If possible, lose the structural tables – we can use Divisions and CSS to do the job for us without changing the logical order of the document.

Conclusion: Do not use tables – Cascading Style Sheets will do everything you want tables to do. For example, the illustrations above were generated using 5 lines of CSS – no graphics and no tables. Take a look at the source code to see the styles.

Update: tables are hopeless if you want your site to be responsive.

Add your comment

  1. nun said:

    like it!

Are you struggling with ranking, attracting visitors, generating leads or getting sales?

Or are you just stuck not knowing what to do next?

Call me on: 01252 643927 or 07921 859802 or Send me an email.

Or fill in this form which will appear as if by magic

Web Statistics