Veamos, os cuento lo que quiero hacer, lo que me pasa con el codigo actual, pongo el codigo que tengo y espero a que alguien me eche un cable

Tengo una pagina con, basicamente, 2 columnas, y quiero que ambas se repartan el tamaño por igual. Con resolucion medianamente grande (>800x600) no tengo problema, pero si se reduce de eso, la columna de la derecha se coloca a la izquierda, justo debajo de la columna izquierda.
Las tengo colocadas mediante css como elementos flotantes a la izquierda, y despues de los 2, un elemento que elimina el float. Todos ellos metidos dentro de un div con display:block. Mi intencion es que si se reduce, se reduzcan ambas columnas pero sigan estando juntas... Pero no se como hacerlo

El HTML (por encima, claro esta)
<div id="cuerpo">
<div id="izquierda">....</div>
<div id="derecha">.....</div>
<div class="clear:both"></div>
</div>
Donde en cada div, en vez de ..., hay parrafos, imagenes y enlaces.
El CSS:
#cuerpo{
width:100%;
float:left;
display:block;
}
#izquierda{
float:left;
width:45%;
padding-left:2em;
}
#derecha{
float:left;
}
¿Hay solucion? Tampoco me voy a comer mucho la cabeza, si alguien utiliza una resolucion menor a 800x600 pues a cascarla, pero me gustaria hacerlo bien si puede ser. Como tampoco esta pensada para que una PDA, Iphone o similares se conecten, no es prioritario, aunque estoy seguro que alguno me sabe ayudar.
¡Gracias!
EDIT: Por ahora lo he apañado poniendole al div cuerpo la declaracion min-width: 750px; pero no se yo si esto es la solucion correcta...