ukeyoc, ahora entiendo tu problema, y es bastante complicado. Estoy justo pasando por lo mismo en un proyecto y recordé este post.
Me compliqué mucho con cada uno de esos ejemplos, demasiado. Intenté el metodo de tampabay, imaputz, 4 versiones modificadas de ellas por mi, y seguia sin funcionar exactamente lo que queria. Una tabla que funcione dinamicamente, y se auto-ajuste, etc, etc.
Asi que después de pasar un mal rato, volví a empezar y la idea vino a mi mente, y después de unos minutos de escribir código, y otros de pensar en cómo achicarlo salió esto.
Código :
<div class="table">
<table>....</table>
</div>
div.table { width:737px; height:237px; margin:0 auto; }
div.table tbody { overflow-x:hidden; overflow-y:auto; width:737px; height:202px; }
Asi de sencillo, ni más ni menos, esto funcionará en los navegadores actuales, Firefox, Opera, Safari, y quizás IE7.
Pero IE6 tiene problemas, asi que...
Código :
div.table { width:721px; overflow-y:auto; }
No he investigado mucho, solo bajo mis propias deducciones pienso que la etiqueta tbody, asi como la etiqueta abbr es una etiqueta que no ha sido propiamente soportada en IE como tal (una etiqueta). Asi que el CSS no es reconocido y ni con un display:block; he podido hacer que muestre un borde (en los articulos decian que con esto bastaba para que funcione).
En fin, solo se acortan 16pixeles al ancho del div contenedor par que entre el scroll, y listo. El thead aún asi se sigue scrolleando, a esto se le conoce como "Gracefuly degradation", que a pesar de no funcionar como se quiere, siga funcionando y lo más importante el contenido se mantega visible y utilizable.
Veamos si te sirve y/o alguien se anima a hacer "algo mejor".
Estaba pensando en hacer algo con DOM para IE, pero no tengo mucho tiempo, en fin, lo intentaré luego. Saludos.