El height 100% sirve si el elemento padre tiene un height especificado, por ejemplo:
Código HTML:
<body style="height:400px">
<div style="height:30%;background:red">
</div>
</body>
Debería mostrarte el div de 30% de la altura del body (en este caso 400px)