Вот один из способов сделать это.
Если это ваш HTML:
<div class="header">Header</div>
<div class="content">Content</div>
<div class="footer">Footer</div>
Примените следующий CSS:
.header, .footer {
height: 100px; /* not strictly needed... */
border: 1px solid blue;
}
.content {
width: 50%; /* for example... */
height: 400px;
background-color: yellow;
margin: 0 auto;
border: 1px dotted blue;
}
.header {
margin-bottom: -25px;
}
.footer {
margin-top: -25px;
}
.content {
position: relative;
z-index: 1;
}
Вы можете посмотреть демо на: http://jsfiddle.net/audetwebdesign/CNnay/
Вы создали три элемента уровня блока для заголовок, содержание и нижний колонтитул.
Применить отрицательные поля к нижней части заголовка, а верхняя часть нижнего колонтитула - создать эффект смещения.
Наконец, примените z-index
к .content
, чтобы настроить порядок укладки таким образом, чтобы блок содержимого был окрашен над нижним колонтитулом.
В этом макете блок содержимого будет расширяться по вертикали, когда вы добавите больше контента.
Результаты выглядит следующим образом:
Как вы хотите высоту области содержимого, чтобы определить ? по содержанию или фиксированным? –