Pixel dimensions of the holy grail layout

Three column layout dimensions

In this layout the side column widths are in pixels and the centre page adjusts in size to fill the rest of the screen. Vertical dimensions are left unset so they automatically stretch to the height of the content. Layouts that use pixel widths are great for images because you can make them fit perfectly within a column without gaps.

The nested div structure

I've colour coded each div so it's easy to see:

The holy grail no quirks mode 3 column layout nested div structure

The header, colmask and footer divs are 100% wide and stacked vertically one after the other. Colmid is inside colmask and colleft is inside colmid. The left and right content columns are inside colleft. The center column needs to be inside the col1wrap div and the col1pad div so it can be positioned correctly and be fully compatible with all versions of Internet Explorer. Notice that the main content column (col1) comes before the other columns, this is great for SEO.

This layout is FREE for anyone to use

You don't have to pay anything. Simply view the source of this page and save the HTML onto your computer. My only suggestion is to put the CSS into a separate file. If you are feeling generous however, link back to this page so other people can find and use this layout too.

Free traffic for your website

If you use this layout for your website send me an email with the link and I'll add you to my list of example sites. Once your link is published you'll get free traffic!

No Quirks Mode

My original Holy Grail 3 column liquid layout required the XML declaration for it to display correctly in older versions of Internet Explorer. This version works without it and is thus never in quirks mode. It only requires one extra div to achieve this, a small price to pay for compatibility.

No IE Conditional Comments

This version of my Holy Grail liquid layout only has one stylesheet attached. Previous versions required the use of IE conditional comments to set some extra CSS rules for older versions of Internet Explorer. All of these extra things make any layout more difficult to maintain - this one is very simple and straightforward.

No CSS hacks

The CSS used for this layout is 100% valid and hack free. To overcome Internet Explorer's broken box model, no horizontal padding or margins are used. Instead, this design uses pixel widths and clever relative positioning.

SEO friendly 2-1-3 column ordering

The higher up content is in your page code, the more important it is considered by search engine algorithms. To make your website as optimised as possible your main page content must come before the side columns. This layout does exactly that: The center page comes first, then the left column and finally the right column (see the nested div structure diagram for more info). The columns can also be configured to any other order if required.

Equal height columns

It doesn't matter which column has the longest content, the background colour of all columns will stretch down to meet the footer. This feature was traditionally only available with table based layouts but now with a little CSS trickery we can do exactly the same with divs. Say goodbye to annoying short columns!

Full cross-browser support

The holy grail 3 column liquid Layout has been tested on the following browsers:

iPhone & iPod Touch

  • Safari


  • Safari
  • Firefox
  • Opera 9.25
  • Netscape & 7.1


  • Firefox 1.5, 2 & 3
  • Safari
  • Opera 8.1 & 9
  • Google Chrome
  • Explorer 5.5, 6 & 7
  • Netscape 8

Valid XHTML strict markup

The HTML in this layout validates as XHTML 1.0 strict.

Resizable text compatible

This layout is fully compatible with resizable text. Resizable text is important for web accessibility. People who are vision impaired can make the text larger so it's easier for them to read. It is becoming increasingly more important to make your website resizable text compatible because people are expecting higher levels of web accessibility. Apple have made resizing the text on a website simple with the pinch gesture on their multi-touch trackpad. So far this trackpad is only available on the MacBook Air but it will soon be rolled out to all of their systems. Is your website text-resizing compatible?

No Images

This layout requires no images. Many CSS website designs need images to colour in the column backgrounds but that is not necessary with this design. Why waste bandwidth and precious HTTP requests when you can do everything in pure CSS and XHTML?

No JavaScript

JavaScript is not required. Some website layouts rely on JavaScript hacks to resize divs and force elements into place but you won't see any of that nonsense here.