Tengo una página con divs como a continuación
<div id="container">
<div id="A">
</div>
<div id="B">
<div id="B1"></div>
<div id="B2">B2</div>
</div>
<div id="C"></div>
<div id="D">
</div>
</div>
con estilo como;
html, body {
margin: 0;
padding: 0;
border: 0;
}
#B, #C, #D {
position: absolute;
}
#A{
top: 0;
width: 100%;
height: 35px;
background-color: #99CC00;
}
#B {
top: 35px;
width: 200px;
bottom: 35px;
background-color: #999999;
z-index:100;
}
#B2 {
margin-top: -35px;
bottom: 0;
background-color: #FFFFFF;
width: 200px;
overflow: scroll;
}
#B1 {
height: 35px;
width: 35px;
margin-left: 200px;
background-color: #CC0066;
}
#C {
top: 35px;
left: 200px;
right: 0;
bottom: 35px;
background-color: #CCCCCC;
}
#D {
bottom: 0;
width: 100%;
height: 35px;
background-color: #3399FF;
}
Quiero ajustar la altura de div B2
para llenar (o estirar) div completo B
(marcado con un borde verde) y no quiero cruzar el div D de pie de página. Aquí hay una demostración de violín en funcionamiento (actualizada). ¿¿Como puedo resolver esto??
float
padre diferente al de su padre?Suponga que tiene
Con CSS normal, puede hacer lo siguiente. Vea una aplicación en funcionamiento https://github.com/onmyway133/Lyrics/blob/master/index.html
Con flexbox, puedes
fuente
http://jsfiddle.net/QWDxr/1/
Utilice la propiedad "min-height"
Tenga cuidado con los rellenos, márgenes y bordes :)
fuente
B
div id= D
. No quiero que cruce div dheight:100%
falta un punto y coma para el#B2
estilo.Lo que se adaptaba a mi propósito era crear un div que siempre estuviera delimitado dentro de la ventana general del navegador por una cantidad fija.
Lo que funcionó, al menos en Firefox, fue esto
<div style="position: absolute; top: 127px; left: 75px;right: 75px; bottom: 50px;">
En la medida en que la ventana real no se vea forzada a desplazarse, el div conserva sus límites hasta el borde de la ventana durante todo el cambio de tamaño.
Espero que esto le ahorre a alguien algo de tiempo.
fuente
Si vas a usar B2 con fines de estilo, puedes probar este "truco"
jsFiddle
fuente
margin-bottom: -9999px;
. Te estás perdiendo el menos.Posición relativa del contenedor B2
Posición superior B2 + de la altura restante
Altura de B2 + altura B1 o altura restante
fuente
Yo uso
height: stretch;
. Aquí puede encontrar algunos detalles sobre el uso.fuente
Lo resolvería con una solución javascript (jQUery) si los tamaños pueden variar.
fuente
javascript
ojquery
?