Есть несколько вещей, которые следует иметь в виду при работе с высотой страницы:
Прежде всего, по умолчанию, контент обычно будет отображаться, если он выходит за пределы заданной высоты своего контейнера, поэтому для правильной реализации прокрутки у вас должно быть overflow-y:scroll
в #navigation и #content divs.
Во-вторых, вы устанавливаете немного высоты. Верхний колонтитул имеет высоту 120px, плюс навигацию с разрешением 720 + 10 (5 сверху, 5 снизу), перед нижним колонтитулом, который добавляет еще 50. Это всего 900, что очень много. Обычное разрешение сейчас составляет 1280x1024, но вы должны иметь в виду, что браузер ест много высоты; вероятно, в районе 200px. Возможно, вы назначаете слишком большую высоту вашей странице.
В-третьих, назначить массивную отрицательную верхнюю границу для вашего #contents div немного странно. Отрицательное значение для margin-top перемещает элемент вверх по странице, поэтому браузеру нужно сделать так, чтобы элемент #contents переместился на 724 пикселя вверх, что должно сделать его более чем на половину высоты верхней части экрана. Это то, что вы собирались сделать?
Наконец, обычно нет необходимости указывать высоту для контейнеров. По умолчанию, без стиля высоты, браузер достаточно умен, чтобы сделать ваши контейнеры подходящего размера и не перекрывать их. Вполне возможно, что все, что вам нужно сделать, это удалить стили высоты и отрицательного поля на верхушке полей #contents и #navigation, чтобы решить вашу проблему, если только вам действительно не нужно, чтобы навигация или контент были именно такой высоты.