Для работы height & width в CSS надо понимать все тонкости того, как оно работает.
Ширина и высота в процентах выставляются относительного родительского элемента. При этом не стоит забывать, что у html и body ширина(вот с этим могу ошибиться) и высота по умолчанию не равны 100%, а подбираются под размер контента(то есть стоят в значении auto). Отсюда, имея height: 100% у элемента непосредственно в body, можно получить не то, что ожидается.
Объясняю популярно. Div должен растягиватся до границ внешнего элемента. В твоём html коде внешнего элемента как такового нет для дива "О нас". Т.е. есть еще несколько дивов, которые болтаются один за одним и всё. Для того чтобы работало так как ты хочешь - используй например таблицу внутрь которой впиши div - один в одну ячейку другой во вторую и тд - так называемая смешанная верстка и див и таблица. А если нет - то делай вшешний див и пляши от него при помощи отрицательных margin для высоты - ищи в гугле про них - тут долго объяснять...
было такое, оказалось просто: в IE при указании DOCTYPE XHTML 1.0 Transitional- height:100% ведёт себя как height:auto, при отсутвии докутайп работет как 100%.
вообщем попробуй убрать доктайп.
но hieght:100% очень плохая штука, по возможности лучше избегать.