height:100% in quel contesto non dice nulla.
E` il 100% di un valore non definito.

Perche` sia valido devi anche definire
codice:
html {
  height:100%;
}
(stessa cosa per la larghezza, che potrebbe essere tenuta grande da qualcosa all'interno)

PS: chiaramente in IE (quirks mode) la cosa non e` vera, dato che html e body sono lo stesso oggetto.