ventana resto que pantalla ocupe ocupar largo div contenedor completa altura alto css css3

resto - Cómo estirar la altura de div para llenar div principal-CSS



div que ocupe el resto de la pantalla (6)

Lo que convenía a mi propósito era crear un div que siempre estuviera delimitado dentro de la ventana general del navegador por un monto fijo.

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 obligada a desplazarse, el div conserva sus límites al borde de la ventana durante todo el redimensionamiento.

Espero que esto le ahorre a alguien algo de tiempo.

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 rellenar (o estirar) todo div B (marcado con un borde verde) y no quiero cruzar el pie de página div D. Aquí hay una demo violín en funcionamiento (actualizada). ¿¿Como puedo resolver esto??


Lo resolvería con una solución de javascript (jQUery) si los tamaños pueden variar.

window.setTimeout(function () { $(document).ready(function () { var ResizeTarget = $(''#B''); ResizeTarget.resize(function () { var target = $(''#B2''); target.css(''height'', ResizeTarget.height()); }).trigger(''resize''); }); }, 500);


Si vas a usar B2 para diseñar, puedes probar este "truco"

#B { overflow: hidden;} #B2 {padding-bottom: 9999px; margin-bottom: -9999px}

jsFiddle


Simplemente agregue height: 100%; en el estilo #B2 . min-height no debería ser necesaria.


Supongamos que tiene

<body> <div id="root" /> </body>

Con CSS normal, puede hacer lo siguiente. Consulte una aplicación en funcionamiento https://github.com/onmyway133/Lyrics/blob/master/index.html

#root { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }

Con flexbox, puedes

html, body { height: 100% } body { display: flex; align-items: stretch; } #root { width: 100% }


http://jsfiddle.net/QWDxr/1/

Use la propiedad "min-height"
Tenga cuidado con los almohadones, los márgenes y las fronteras :)

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 { min-height:100%; height:100% margin-top: -35px; bottom: 0; background-color: red; 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; }