In realta`, per come usi le % non hanno significato, perche` le usi relative ad una dimensione non definita.

Ad esempio per poter usare il 100% nel tuo #contenitore , devi definire
width: 100%;
anche negli oggetti html e body

Stesso discorso per l'altezza.

Probabilmente nel caso in esame la pagina e` larga, per cui alla fine il 100% in larghezza funziona, ma e` un caso.