Я извиняюсь, потому что, хотя я уверен, что это было задано, я не могу найти решение после значительного поиска.
У меня есть таблица, в которую может быть загружено много данных. Эта таблица размещается в области содержимого, которая является частью шаблонного сайта, и в этой области содержимого будет заголовок и область фильтра над таблицей. Под столом ряд кнопок. Таблица должна расти, чтобы заполнить окно, но обе кнопки внизу страницы, а также информация заголовка / фильтра вверху страницы всегда должны оставаться в окне браузера.
Пример кода ниже это общий план HTML, с которым я работаю. У меня есть заголовок и фильтр div, которые должны оставаться в верхней части окна контента, в то время как кнопки внизу должны оставаться «закрепленными» внизу окна браузера.
Таблица (или ее содержащий div) должен увеличиваться, чтобы заполнить все пространство посередине, и полосы прокрутки должны появляться, когда содержимое становится большим для окна в середине области содержимого.
<!-- site template content above -->
<div id="where the content is loaded for all pages">
<div class="page-title"> <!-- Needs to stay at the top of the content box. SHOULD NOT vertically scroll out of view. -->
Show a title, at the top of the page!
</div>
<div class="filters"> <!-- Should stay at the top, anchored below the Page Title div. -->
<input type=text value="blah blah blah" />
...
</div>
<div class="fill-until-scrollable"> <!-- This needs to grow to fit (both x & y) as the browser window grows. -->
<table> <!-- This table can have a lot of data. Assume it's height to be 100% of it's content, however, the fill-until-scrollable parent will need to have proper overflow/sizing CSS settings so that if the table data will be scrollable if it's to large for the window, without hiding the buttons below. -->
...
</table>
</div>
<div class="action-buttons"> <!-- This needs to be the full width of the page, anchored at the bottom of the browser window. -->
<button>Foo</button>
<button>Bar</button>
</div>
</div>
<!-- site template content below -->
Я знаю это должна быть общая необходимость, но я не могу найти способ сделать это. Любые простые примеры будут оценены. Спасибо.