No funciona porque el elemento padre no tiene ningún ancho —div está vacío— ni ningún alto.
Tendrías que añadir una anchura y altura a body, pero tampoco funcionará, porque pasaría lo mismo, ya que el padre, html, no tiene anchura ni altura tampoco. Así pues:
Código CSS:
Ver originalhtml,body{
height:100%;
width:100%;
}