Ho un problema con il footer. Mi hanno fatto un css dove ci sono parecchi valori assoluti e non si riesce a settare in modo che il footer si abbassi automaticamente seguendo il corpo del sito. Come devo fare?
Questo è il css se serve:

codice:
/* layout grafico */

html, body {
background: #124390;
background-image: url("../img/summer/background2.jpg");
background-repeat: repeat-y;

}
body {
margin: 0; padding: 0;
}

#alto {
width: 266px; height: 344px;
background-image: url("../img/summer/alto.jpg");
top:0px; left:0px;
}
#bt {
width: 468px; height: 122px;
background-image: url("../img/summer/bt.jpg");

position: absolute;
top:0px; left:266px;

margin: 0 auto;
}


/* footer */
div#bs{
background-image: url("../img/summer/bs.jpg");
height:auto;
position: absolute;
top:260%; left:0%;

	}
div#bs img {
	border: 0px solid #000;
}




#sn {
float: left;
width: 167px;
position: absolute;
top:344px; left:0px;
}
#dx {
float: left;
width: 99px;

position: absolute;
top:344px; left:168px;

height: auto !important;
}

#cx {
width: 468px;
background-image: url("../img/summer/cx.jpg");
background-repeat:no-repeat;
position: absolute;
top:119px; left:266px;
height: auto !important;
margin: 0 auto;
}



/* menu di destra */
#menudx {
  width:auto;
height:auto;
  margin: 0 auto;
}
/* banner menu di destra */
#banner {
	text-align: center;
}
#banner img {
    margin: 2px auto;
	border: 0px solid #000;
}





/* menu a sinistra */
#menusn {
  font: bold 10px georgia, verdana, helvetica, sans-serif;
  width:auto;
  height:auto;
  margin: 0 0 auto 13px;
  /*background:#fff;*/
}
#menusn img {
	margin: 0; 
	padding: 0;
}





ul {
	margin: 2px auto; padding: 0;
	 list-style:none;
}
li {
   background: #F7CC95;
   margin: 2px 0px 2px 10px;
   width: 140px;
}
li a {
     font: bold 10px arial, verdana, helvetica, sans-serif;
	 color: #CC3300;
     padding: 6px;
	 text-decoration: none;
	 
}
li a:hover {
	text-decoration: none;
	color: #000;
	padding: 6px;
}






/* tag board */
#tag {
	margin: 5px auto 5px auto;
	text-align: center;
}

/* sondaggio */
#sondaggio {
margin: 5px auto; padding: 0;
text-align: left;
font: bold 10px arial, verdana, helvetica, sans-serif;
}


form {
	margin: 0; padding: 0;
}



/* news */
#news {
	font: normal 10px Verdana, Arial, sans-serif;
	color: #B43B0C;
	margin: 30px;
}
#news a:link, h2 a:visited  {
	 color: #000;
	 text-decoration: none;
}
#news .current, h2 a:hover, h2 a:active {
	text-decoration: underline;
}
#news img {
	margin-right: 10px;
	border: 5px solid #FB9D7B;
}
.barra {
	text-align: center;
	margin: 15px auto;
}




/* news top div bt */
#top {
    font: bold 11px arial, verdana, helvetica, sans-serif;
	padding: 0px;
	color: #B43B0C;
	margin: 65px 0px 0px 30px;
	text-align: left;
	width: 400px;
}
/* centro box */
.centro-box {
	margin: 60px 0px 0px 30px;

	overflow: auto;
    height: 1700px;
    width: 400px;
    /*background: #ccc;*/
    padding: 0;

}
/* link in centro */
#cx a {
	color: #B43B0C;
	font-weight: bold;
}
#cx a:hover {
	color: #000;
	text-decoration: none;
}


/* news interno template */
h2 {
	font: normal 10px Verdana, Arial, sans-serif;
	color: #B43B0C;
	margin: 30px;
	line-height: 1.5em;
	margin: 0 auto;
	padding: 0;
}
h2 a:link, h2 a:visited  {
	 color: #000;
	 text-decoration: none;
}
h2 .current, h2 a:hover, h2 a:active {
	text-decoration: underline;
}
h2 img {
	margin-right: 0px;
	border: 0px dotted #89bce6;
}