The perfect layout for a three column blog
I have always wanted the perfect three column design for my blog. I stumbled across this web site and I think this is the probably as good as it gets.
Holy Grail 3 column liquid-layout: No Quirks Mode, No IE Conditional Comments
This is by Matthew James Taylor and I have to say I am very impressed.
I renamed the CSS id’s to something easier for me to remember. I added a navigation bar, and another div to give a white space on the right and left.
Here is the basic html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-GB"> <head> <title>Site Title</title> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <style type="text/css"> body { margin:0; padding:0; } #ContainerMain {} a { /* color:#369; */ text-decoration:none; } a:hover { text-decoration: underline; } h1, h2, h3 { margin:.8em 0 .2em 0; padding:0; } p { margin:.4em 0 .8em 0; padding:0; } img { margin:10px 0 5px; } #Header { float:left; width:100%; padding:0; margin:0; border-bottom:1px solid #000; background: #CCC; color: #FFF; } #Header p { padding:.5em 15px .2em 15px; margin:0; } #Header h1 { padding:.2em 15px; margin:0; } #Header h2 { padding:.2em 15px .7em 15px; margin:0; } #NavBar { float:left; width:100%; padding:0; margin:0; border-bottom:1px solid #000; background: #EEE; color: #FFF; } #ContainerColumns { margin-left: 20px; margin-right: 20px; } #ContainerLeft { position:relative; /* This fixes the IE7 overflow hidden bug and stops the layout jumping out of place */ clear:both; float:left; width:100%; /* width of whole page */ overflow:hidden; /* This chops off any overhanging divs */ background:#ffd8b7; /* Left column background colour */ } #ContainerMiddle { float:left; width:200%; position:relative; left:200px; background:#EEE; /* Centre column background colour */ } #ContainerRight { float:left; width:100%; position:relative; left:50%; margin-left:-400px; background:#ff9; /* Right column background colour */ } #ColumnMiddlewrap { float:right; width:50%; position:relative; right:100%; } #ColumnMiddlepad { margin:0 15px 0 415px; overflow:hidden; } #ColumnMiddle { width:100%; overflow:hidden; } #ColumnLeft { float:left; width:170px; position:relative; margin-left:-50%; left:215px; overflow:hidden; } #ColumnRight { float:left; width:170px; position:relative; left:15px; overflow:hidden; } #footer { text-align: center; clear:both; float:left; width:100%; padding:0; margin:0; border-top:1px solid #000; background: #CCC; } #footer p { margin: 0px; padding: 0px; font-size: 12px; } </style> </head> <body> <div id="ContainerMain"> <div id="Header"> <h1>Site Name</h1> <h2>Site Tag Line</h2> </div> <div id="NavBar">Home</div> <div id="ContainerColumns"> <div id="ContainerLeft"> <div id="ContainerMiddle"> <div id="ContainerRight"> <div id="ColumnMiddlewrap"> <div id="ColumnMiddlepad"> <div id="ColumnMiddle"> <!-- Column 1 start --> <p>Middle Column</p> <p><a href="www.rhyous.com">http://www.Rhyous.com</a></p> <h1>Heading 1</h1> <h2>Heading 2</h2> <h3>Heading 3</h3> <!-- Column 1 end --> </div> </div> </div> <div id="ColumnLeft"> <!-- Column 2 start --> <p>Left Column</p> <!-- Column 2 end --> </div> <div id="ColumnRight"> <!-- Column 3 start --> <p>Right Column</p> <!-- Column 3 end --> </div> </div> </div> </div> </div> <div id="footer"> <p>Footer</p> <p>This is where you put your footer stuff.</p> <p> <a href="http://validator.w3.org/check?uri=referer"> <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Strict" height="31" width="88" /> </a> </p> </div> </div> </body> </html>
[...] Similar Posts The perfect layout for a three column blog [...]