Lo se Anarninquë, puedes probarlo,
Código:
#cuerpo {
float: left;
margin-right: auto;
margin-left: auto;
background: #0099FF;
width: 100%;
}
#cuerpo #derecha {
background: #CC0000;
float: right;
width: 25%;
}
#cuerpo #lateral {
float: left;
width: 25%;
background: #CC6600;
}
#cuerpo #principal {
background: #CCCCCC;
width: 49.9%;
float: left;
}
<div id="cuerpo">
<div id="lateral">
<p>Lateral</p>
</div>
<div id="derecha">
<p>derecho</p>
</div>
<div id="principal">
<p> </p>
</div>
</div>
#Cuerpo tiene un float: left; quitaselo y veras que pierdes el fondo.