Aquí hay un truco, del que debe tener cuidado. Si coloca espacios en blanco entre el cierre del primer div y la apertura del segundo, su 50% no funcionará debido al espacio que se muestra en el navegador.
Hay varias formas de hacerlo. Si está destinada a una audiencia sólo los navegadores modernos (IE9 +, FF, Chrome, Safari), puede utilizar inline-block
:
<style>
.childDiv {
display: inline-block;
width: 50%;
}
</style>
<div class="parentDiv">
<div class="childDiv"> // 50% width
</div><div class="childDiv"> // 50% width
</div>
</div>
Sin embargo, Internet Explorer 7 no soporta inline-block
para que pueda ir al método de "la vieja escuela" , utilizando flotadores:
<style>
.childDiv {
float: left;
width: 50%;
}
</style>
<div class="parentDiv">
<div class="childDiv"> // 50% width
</div><div class="childDiv"> // 50% width
</div>
<div style="clear: both"></div>
</div>
Si usted quiere asegurarse de ambas columnas son exactamente la misma anchura y aún así tener un pequeño espacio entre ellos, utilizar diferentes estilos de los flotadores. Tenga en cuenta que este método no requiere que se eliminan los espacios en blanco en su margen de beneficio entre divs, siempre y cuando el ancho que se utiliza es inferior al 50%:
<style>
.childDiv {
width: 49.5%;
}
.left { float: left; }
.right{ float: right; }
</style>
<div class="parentDiv">
<div class="childDiv left"> // 49.5% width
</div>
<div class="childDiv right"> // 49.5% width
</div>
<div style="clear: both"></div>
</div>
Esto podría ser sólo yo, pero estoy teniendo problemas para entender su pregunta. – Bulvak
Justo como Christoph muestra. Un valor porcentual en CSS siempre es relativo al div principal. Sin embargo, asegúrate de haber establecido el ancho de 'parentDiv'. – poepje
De forma predeterminada, un 'div 'se muestra como un bloque, por lo que ocupará un ancho del 100% de su elemento primario (que, si ese elemento principal es' cuerpo', el ancho será el 100% de la ventana gráfica). – saluce