En primer lugar, bienvenido @guillermoolmo
Con respecto a tu problema, es bastante más simple de lo que estás intentando
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" />
/*<![CDATA[*/
/* estilos */
html, body, div{
margin: 0;
padding: 0;
border: none;
}
.contenedor{
width: 80%;
border: 1px #000 solid;
}
.contenedor2{
border: 1px #000 solid;
}
.contenedor3{
width: 600px;
margin: 0 auto;
border: 1px #000 solid;
}
.izq, der {
float: left;
}
.izq {
background-color: yellow;
}
.der{
background-color: lime;
}
.contenedor3 .izq {
width: 180px;
}
/*]]>*/
<div class="contenedor"><div class="izq">izquierda
</div><div class="der">derecha
</div></div> <div style="clear: both; margin: 5px 0;"><!-- limpiar floats --></div> <div class="contenedor2"><div class="izq">izquierda
</div><div class="der">derecha
</div></div> <div style="clear: both; margin: 5px 0;"><!-- limpiar floats --></div> <div class="contenedor3"><div class="izq">izquierda
</div><div class="der">derecha
</div></div>
Como ves en los ejemplos hay tres contenedores de diferentes medidas, con %, sin nada (es decir al 100%) en px. Que le fijes un ancho a tu div izquierdo es completamente opcional, tampoco es necesario posicionar ninguna capa.
Saludos