Ответ 1
Использование высоты: 100% атрибут CSS должен заставить его работать.
Посмотрите, работает ли Dave Woods 100% -ная компоновка высот с использованием CSS.
У меня есть страница HTML, разделенная по вертикали на
Тело в свою очередь разделяется горизонтально на
Верхний и нижний колонтитулы имеют фиксированную высоту. Тело должно расширяться вертикально, чтобы заполнить часть окна, не занятого верхним и нижним колонтитулом.
Аналогично, форма имеет фиксированную ширину, а панель прокрутки должна расширяться горизонтально, чтобы заполнить ширину окна.
Диаграмма очень большая (до 10x10 экранов), поэтому я не могу ее отобразить. Вместо этого я хочу отображать как можно больше (используя все окно), чтобы пользователь мог прокручивать как можно меньше.
Я также не могу использовать javascript, потому что некоторые пользователи обязательно параноики и должны отключить его.
Некоторые параметры, которые я рассмотрел:
Я замечаю, что в Картах Google используется область фиксированного размера, когда сценарии отключены. Если Google отказался от этой проблемы, значит ли это, что это невозможно?
Использование высоты: 100% атрибут CSS должен заставить его работать.
Посмотрите, работает ли Dave Woods 100% -ная компоновка высот с использованием CSS.
Это немного известный аспект свойства position: absolute;
CSS, который даст вам макет, который вы ищете. Вы можете абсолютно позиционировать элемент во ВСЕХ 4 направлениях, сверху, вправо, снизу и слева. Это означает, что ящик может быть таким же текучим, как и браузер, и всегда оставаться на том же расстоянии от границ указанного контейнера.
div {
position: absolute;
}
#main {
top: 8em; // 8em
left: 0;
bottom: 8em; // 8em
right: 300px;
overflow: auto;
}
#header {
top: 0;
left: 0;
right: 0;
height: 8em;
}
#sidebar {
top: 8em;
right: 0;
bottom: 8em;
width: 300px;
overflow: auto;
}
#footer {
bottom: 0;
left: 0;
right: 0;
height: 8em;
}
В качестве примера просмотрите http://www.sanchothefat.com/dev/layouts/cssframes.html, а затем просмотрите источник и отделите CSS, чтобы увидеть, как это делается в более сложном примере.
Если вы примете такой подход, вам нужно полностью поместить ВСЕ основной контейнер <div>
s. Используйте ems, если размер шрифта является проблемой.
PS. В том, что IE6 запутывает (шокирует!), Есть ошибка, однако пример, который я предоставил, имеет резерв IE6. Только фиксированная высота будет хорошей, хотя.