Una solución es dar la propiedad position:relative al contenedor #body.
El resto de los contenedores incluidos en él reciben posición absoluta (position:absolute) y estableces la posición de cada uno de ellos con top y left.
Otra solución es la siguiente:
El lateral derecho lo colocas al principio, por delante del izquierdo por ejemplo. A este lateral le das das la propiedad float:right.
Al resto le das float:left salvo al contenedor fondoabajo que lleva la propiedad clear:both.
En este otro caso te he centrado el contenedor #body.
Código CSS:
Ver original#body {
font-family: Tahoma,Geneva,sans-serif;
font-size: 1em;
height: auto;
margin: 0 auto;
padding: 0;
width: 1194px;
}
#lateralizq {
background: none repeat scroll 0 0 #556677;
float: left;
height: 900px;
width: 59px;
}
#superiorgeneral {
background: none repeat scroll 0 0 #118899;
float: left;
height: 290px;
width: 1076px;
}
#superiorflotantemenu {
background: none repeat scroll 0 0 #661100;
float: left;
height: 90px;
width: 1076px;
}
#lateralder {
background: none repeat scroll 0 0 #224455;
float: right;
height: 900px;
width: 59px;
}
#main {
background: none repeat scroll 0 0 #FFFF22;
float: left;
height: 45px;
width: 1076px;
}
#pie {
background: none repeat scroll 0 0 #4455FF;
float: left;
height: 147px;
width: 1076px;
}
#fondoabajo {
background-color: #F2886E;
clear: both;
height: 34px;
width: auto;
}