#header
имеет высоту 55 пикселей. #topnav
имеет высоту 65 пикселей. #mainsection
имеет высоту 90%. #drawer
имеет высоту 50 пикселей.
Вы пытаетесь утверждать, что 55px + 65px + 90% + 50px = 100%
, но вы не можете этого сделать.Это будет справедливо для некоторой высоты (где высота всего содержимого составляет 1700 пикселей, см. Ниже), но не для всех высот:
55px + 65px + 90% + 50px = 100%
55px + 65px + 50px = 10%
170px = 10%
1700px = 100%
РЕДАКТИРОВАТЬ: Вы можете достичьчто вы хотите, используя относительные / абсолютные позиции соответственно.Смотрите следующее jsFiddle: http://jsfiddle.net/Pftpu/12/
Обратите внимание, что это все равно будет больше, чем 100% из-за границ вокруг всей страницы.Вы можете обернуть их в другой div, но я хотел показать этот пример, только изменив свойства CSS, относящиеся к основной проблеме, с которой вы столкнулись.