¿Qué tal si utilizas la propiedad
display: inline-block?
A las 3 capas del contenedor le pones esa propiedad y les das un ancho con porcentajes, asegurándote de que la suma de los anchos y los márgenes de las 3 capas sea 100%.
Te dejo un ejemplo para que lo veas:
Código HTML :
<div id="contenedor">
<div>Capa 1</div>
<div>Capa 2</div>
<div>Capa 3</div>
</div>
Código CSS :
html{
font-size: 16px;
}
#contenedor {
background-color: #555;
font-size: 0px;
height: 400px;
max-width: 900px;
}
#contenedor > div {
display: inline-block;
font-size: 16px;
height: 100%;
width: 30%;
}
#contenedor > div:nth-child(1) {
background-color: lime;
}
#contenedor > div:nth-child(2) {
background-color: red;
margin: 0 5%;
}
#contenedor > div:nth-child(3) {
background-color: cyan;
}