Como fazer um div esticar sua altura entre dois outros divs e centralizar seu conteúdo
Eu quero fazer um layout de coluna com 3 seções
Seção 1: Cabeçalho Seção 2: Uma Seção de Conteúdo que se estende desde o cabeçalho até o início do rodapé, que tem seu conteúdo centralizado verticalmente e horizontalmente dentro da seção 3: Rodapé que sempre reside na parte inferior da janela do navegador.
O problema:
Não consigo fazer o div do conteúdo estender-se ao início do div do rodapé / fundo. Se eu entro em height: 100% ele se estende automaticamente até o final de toda a página.
Também gostaria de centralizar o conteúdo dentro deste middle div vertical e horizontalmente - embora eu ainda não tenha tentado fazê-lo.
Também não entendo porque o fundo do texto do cabeçalho não é colorido. mesmo que os subdiretórios divs sejam encapsulados pelo cabeçalho div que tem a cor de fundo definida.
obrigado!
http://jsbin.com/ixipug/1/edit
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
html {
height: 100%;
}
body {
height: 100%;
margin-left: 20px;
margin-top:0px;
margin-bottom: 0px;
}
#containerHeaderContent {
min-height:100%;
height: auto;
height: 100%;
margin: 0 auto -1.5em;
}
.push {
height: 1em;
}
.header {
background-color: aqua;
padding-top:20px;
}
.subheader-left {
float:left;
font-family: serif;
font-size: 20px;
text-align: left;
}
.subheader-right{
float: right;
font-family: sans-serif;
font-size: 12px;
padding-right: 20px;}
.middleSection {
padding-top: 10px;
clear:both;
width:100%;
height auto;
background-color: #e8e7e7;
}
.bottom{
background-color: red;
position: absolut;
height: 1em;
font-size: small;
}
.bottom-left {
float: left;
font: sans-serif;
left: 20px;
}
.bottom-right {
float: right;
right: 15px;
font-style: italic;
color: #8e8e8e;
font-size: 11px;
}
</style>
<title>XYZ</title>
</head>
<body>
<div id="containerHeaderContent">
<div class="header">
<div class="subheader-left">XYZ</div>
<div class="subheader-right">LOREM</div>
</div>
<div class="middleSection">Content Vertical and Horizontally Centered inside DIV</div>
<div class="push"></div>
</div>
<div class="bottom">
<div class="bottom-left">
<span class="about">
<span class="bold">XYZ</span> is a project by XZY. |
<span="address">Website Information</span> — <a href="mailto:[email protected]">[email protected]</a>
</span>
</div>
<div class="bottom-right">
<span class="openinghours">Open by Appointment</span><span class=""> sponsored by XYZ</span>
</div>
</div>
</body>
</html><!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
</body>
</html>