То, что у вас не получится, таблицы и абсолютное позиционирование не сочетаются друг с другом, а высота строк и ячеек таблицы не всегда одинаково обрабатывается в браузере, поэтому я думаю, вам будет сложно получить верх /нижние ряды, чтобы остаться на фиксированной высоте, при этом все же прося среднюю строку прокручивать
, однако я думаю, что вы были правы в исходной публикации и в абсолютном позиционировании, вам не нужны проценты, вы можете использовать верхнюю и верхнююнижние координаты совместно, так что вы можете указать среднему div начинаться с 144px сверху и заканчивать 144px снизу ..
например
HTML:
<div class="header">Some header content</div>
<div class="wrap">
Bulk content<br>bulk content<br>bulk content<br>bulk content<br>
Bulk content<br>bulk content<br>bulk content<br>bulk content
</div>
<div class="footer">Some footer content</div>
CSS:
html, body {margin: 0; padding: 0; height: 100%; overflow: hidden;}
.wrap {
position: absolute;
left: 0;
top: 144px; /* = height of header including any borders or padding */
bottom: 144px; /* = height of footer including any borders or padding */
width: 100%;
background: #fff;
overflow: auto;
}
.header, .footer {
position: absolute;
width: 100%;
left: 0;
height: 140px;
background: #f00;
}
.header {
top: 0;
border-bottom: 4px solid #000;
}
.footer {
bottom: 0;
border-top: 4px solid #000;
}
Все основано на элементах html, body
, высота которых установлена на 100%