Orale ya me toco que me pase eso, hehe.
Se corta el div cuándo el contenido no cabe, y supongo que cuándo no quepa el contenido, quieres que aparesca el scroll y cuándo llegues hasta abajo no se corte el div (que aparesca blanco).
Pues ahora sí que sí de afuerzas de tiene que funcionar, prueba éste ejemplo, que en mi opinión es el definitivo para el problema 1:
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd">
<!-- PROBADO EN IE9 Y MOZILLA 4 -->
<script type="text/javascript"> window.onscroll = medidaDIV;
window.onresize = medidaDIV;
window.onload = medidaDIV;
function medidaDIV()
{
if(document.documentElement.scrollTop==0)
y=document.documentElement.clientHeight+"px";
else{
if(document.defaultView)
y=document.defaultView.getComputedStyle(document.getElementById("denominador"),null).top;
else y=document.getElementById("denominador").currentStyle.top;
}
document.getElementById("ContentBox").style.height=y;//;document.documentElement.clientHeight+"px";
}
/* No agregar tamaño al padding-top/bottom ni al margin-top/bottom en #ContentBox, body o html */
html,body{
background-color: #F4F4F4;
color: #333333;
font-family: "lucida grande",tahoma,verdana,arial,sans-serif;
font-size: 11px;
margin: 0;
padding: 0;
}
#ContentBox {position:absolute;
width: 870px;
background-color: #DBECFD;
}
#ContentBox2 {
padding: 95px 15px 5px 15px;
}
<!-- no borrar ContentBox ní ContentBox2 ní poner nada fuera de ellos a menos que sea con display:none -->
<h1>AQU
Í EL CONTENIDO DE LA P
ÁGINA
</h1><h1>AQU
Í EL CONTENIDO DE LA P
ÁGINA
</h1> <h1>AQU
Í EL CONTENIDO DE LA P
ÁGINA
</h1><h1>AQU
Í EL CONTENIDO DE LA P
ÁGINA
</h1> <!-- no borrar denominador ní modificarlo -->
<span style="position:absolute" id="denominador" style="display:none"></span>