Ha sido un gran intento, de verdad, pero te debías estar preguntando (supongo) por qué siendo tan fácil la gente tenía tantos problemas para hacerlo
Pues bien, como de costumbre nos hemos topado con IE6, en el que tu propuesta se convierte un auténtico desastre
(vamos, que nada fundiona como debe), y no es cosa de tu propuesta, es que como siempre, lo más complicado es hacer algo compatible, si no, usaríamos display: table y todos tan amigos.
Como te decía, para cada tipo de necesidad se puede encontrar una solución.
Para este caso concreto, mira una solución mucho más limpia, sencilla y compatible:
http://www.araudi.net/forosdelweb/montezion.html
Ya me contarás.