ciao a tutti, sto facendo a botte con il layout di un sito, volendo usare i div e i css.
codice:
div#header {
	
	background-image:url(imm_per_sito/sfondo_divheader.jpg);
	background-repeat:no-repeat;
	position:absolute;
	left:50%;
	margin-left:-446px;
	top:50px;
	width:893px;
	height:516px;
}
div#main {  /* sfondo ripetuto */

	background-image:url(imm_per_sito/sfondo_repeat.jpg);
	background-repeat:repeat-y;
	position:absolute;
	left:50%;
	margin-left:-446px;
	top:566px;
	width:893px;
	min-height:100px;
}

div#sezione { /* contenuti */

	background-image:url(imm_per_sito/sfondo_divsezione.jpg);
	background-repeat:no-repeat;
	position:relative;
	left:212px;
	top:-348px;
	width:669px;
	min-height:357px;
	text-align:left;
}

div#footer {

	background-image:url(imm_per_sito/sfondo_divfooter.jpg);
	background-repeat:no-repeat;
	position:relative;
	left:0px;
	top:0px;
	width:893px;
	height:259px;
}

--------------------------------------

la struttura della pagina sarebbe questa:

<div id="header"></div>

<div id="main">

<div id="sezione"></div>

<div id="footer"></div>

</div>
il problema sta nel fatto che...
l'altezza del div main è definita dalla grandezza del div sezione, solo che questo è a sua volta posizionato + in alto con un top=-384px
quindi il div main risulta essere troppo lungo, lascia cioè uno spazio in cui si vede solo lo sfondo...
come si risolve?
cosa sbaglio?

grazie a tutti

Ps tra le altre cose ci sono due cose che non capisco molto..

1. perchè un div relative fa riferimento all'elemento precedente e non all'elemento che lo contiene... mi par un casino, perchè in questo modo se dovessi cambiare la posizione dei div contenuti nel div main dovrei andare a modificare il css di tutti quanti.

2. perchè l'altezza del div non viene influenzata dal posizionamento del div stesso, almeno per quel che riguarda l'altezza.... (che è appunto il mio problema...)