Ваш HTML немного странный. Например, почему banner-bg
охватывает все?
Тем не менее, чтобы использовать технику Sticky Footer, вам нужно обернуть все, кроме нижнего колонтитула , в один DIV. Таким образом, ваш тег <body>
будет содержать только два верхних DIV - wrapper
и footer
. Все, что у вас есть, будет помещено в эту оболочку DIV.
Обратите внимание, что Sticky Footer может не работать для вас, если фоновые изображения, которые вы используете, содержат прозрачные области, поскольку полагаются на wrapper
фон, покрываемый заголовком.
Обновление: Хорошо, вот версия, которая работает. Таблица стилей "Sticky Footer" взята с cssstickyfooter.com и должна работать во всех современных браузерах. Я немного упорядочил ваш HTML (нет необходимости в отдельных фоновых слоях на основе вашего изображения), но вы можете изменять его по своему усмотрению, если вы сохраняете базовую структуру на месте. Кроме того, поскольку у меня нет ваших изображений, я добавил сплошные цвета фона для иллюстрации, вам нужно их удалить.
<html>
<head>
<style>
* {margin: 0; padding: 0}
html, body, #wrap {height: 100%}
body > #wrap {height: auto; min-height: 100%}
#main {padding-bottom: 100px} /* must be same height as the footer */
#footer {position: relative;
margin-top: -100px; /* negative value of footer height */
height: 100px;
clear:both;
}
/* CLEAR FIX*/
.clearfix:after {content: "."; display: block; height: 0; clear: both; visibility: hidden}
.clearfix {display: inline-block}
/* Hides from IE-mac \*/
* html .clearfix { height: 1%}
.clearfix {display: block}
/* End hide from IE-mac */
/* Do not touch styles above - see http://www.cssstickyfooter.com */
body {
background-image: url("Images/img.gif");
background: #99CCFF;
color: #FFF;
font-size: 13px;
font-weight: normal;
font-family: verdana;
text-align: center;
overflow: auto;
}
div#banner {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 9em;
background: url("Images/img2.gif") repeat-x;
background: #000;
}
div#wrap {
background: #666;
width: 84em;
margin-left: auto;
margin-right: auto;
}
div#header {
height: 16em;
padding-top: 9em; /* banner height */
background: url("Images/header/header-bg.png");
background: #333;
}
div#footer {
background: #000;
width: 84em;
margin-left: auto;
margin-right: auto;
}
</style>
</head>
<body>
<div id="banner">Banner</div>
<div id="wrap">
<div id="main" class="clearfix">
<div id="header">Header</div>
<div id="content">
Content<br />
Content<br />
Content<br />
Content<br />
Content<br />
Content<br />
Content<br />
Content<br />
Content<br />
Content<br />
Content
</div> <!-- end content -->
</div> <!-- end main -->
</div>
<div id="footer">
Footer
</div>
</body>
</html>