Code:
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
html, body {
height:100%;
margin:0;
padding:0;
}
/* diagonal background gradient added for testing*/
h1 {
margin:0;
text-align:center;
padding:10px 0;
}
p {
padding:0 5px;
margin:0 0 1em
}
.tc {
display:table-cell;
width:100%;
height:100%;
vertical-align:top;
}
.tr {
display:table-row;
width:100%;
}
.top .tc, .bottom .tc { height:1px }/* make sticky footer work */
body {
font-family:Geneva, Arial, Helvetica, sans-serif;
-moz-background-size: 40px 40px;
-webkit-background-size: 40px 40px;
background-size: 40px 40px;
background-color: #fff;
background-image: -moz-linear-gradient(right top, transparent, transparent 15%, rgba(255, 220, 220, 0.5) 15%, rgba(255, 220, 220, 0.5) 50%, transparent 50%, transparent 65%, rgba(255, 220, 220, 0.5) 65%, rgba(255, 220, 220, 0.5));
background-image: -webkit-gradient(linear, 100% 0%, 0% 100%, color-stop(0.15, transparent), color-stop(0.15, rgba(255, 220, 220, 0.5)), color-stop(0.50, rgba(255, 220, 220, 0.5)), color-stop(0.50, transparent), color-stop(0.65, transparent), color-stop(0.65, rgba(255, 220, 220, 0.5)));
color:red;
}
#outer {
display:table;
width:960px;
margin:auto;
height:100%;
table-layout:fixed;
background:#000;
background:rgba(0,0,0, 0.4);
position:relative;
border-spacing:10px;
}
.main {
width:600px;
padding:20px 0;
}
.sidebar {
width:359px;
padding:20px 0;
border-left:1px dotted red;
}
#footer {
width:100%;
}
#footer .stretch { border-top:1px solid red; }
#header .stretch { border-bottom:1px solid red; }
.stretch {
margin:0 -339px 0 0;
position:relative
}/* drag into right column*/
#header, #footer { width:600px }
</style>
<!--[if lte IE 8]>
<style type="text/css">
.tc{height:auto}
</style>
<![endif]-->
<!--[if lt IE 8]>
<style type="text/css">
.tc{float:left}
.stretch{margin-right:0;border:none}
#header,#footer{height:auto;clear:both}
.main{border-right:1px solid red}
.sidebar{float:left;margin-left:-1px;border-left:1px solid red}
#footer { border-top:1px solid red;width:100% }
#header { border-bottom:1px solid red;width:100% }
</style>
<![endif]-->
</head>
<body>
<div id="outer">
<div class="tr top">
<div id="header" class="tc">
<div class="stretch">
<h1>Header</h1>
<p>lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet </p>
</div>
</div>
</div>
<div class="tr">
<div class="main tc">
<p>lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet </p>
<p>test</p>
</div>
<div class="sidebar tc">
<p>lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet </p>
<p>test</p>
<p>test</p>
</div>
</div>
<div class="tr bottom">
<div id="footer" class="tc">
<div class="stretch">
<p>lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet </p>
<p>Footer</p>
</div>
</div>
</div>
</div>
</body>
</html>
It seems to work well in IE8+ but will need stress testing as I've just knocked that idea up
Bookmarks