Ingernirated, не работает, если у вас каким-то другим способом высота html не задается во всю высоту окна браузера. Свойство height: 100% у body работает относительно html, а если не задать html height 100%, он не будет иметь высоту, такую же как у вьюпорта (окна браузера в данном случае) и 100% высоты у body будут совсем не такими, как ожидается)