The CSS height property, when used with a percentage value, is calculated with respect to the element's containing block. You need to set a height on all your parent elements including body and html.
Alternatively, you can enter vh instead of %. P.E.: for a full height: 100vh.