body bekommt display: none;
Da ist es dann egal ob darin irgendwelche Elemente sind die display:block haben.
Ich ging zumindest davon aus, dass mit "funktioniert nicht" ein leerer Anzeigebereich gemeint ist und noch ein paar andere Regeln existieren :p