Основная проблема, которая не рассматривается в аналогичных вопросах, перечисленных ниже, - это объект FORM, имеющий переменную часть и нижний колонтитул без переменных (кнопки отправки)
Цель состоит в том, чтобы отобразить:
Я пробовалследующий макет:
<div id="column">
<div id="header>
<table><tbody>
<tr><td>LOGO</td><td>Some intro text on a few lines</td></tr>
</tbody></table>
<!-- optionnel error line (arbitrary length) if previous form submission failed -->
</div>
<form>
<div id="variable_scrollable_content">
<!-- multiple field sets hosting some input (text, select, ...) -->
</div>
<div id="footer">
<table><tbody>
<tr><td>Save button</td><td>Reset button</td></tr>
</tbody></table>
<!-- A few lines of text -->
</div>
</form>
</div>
После того, как я внимательно изучил похожие вопросы (см. ниже), я не смог найти что-то, что могло бы обработать объект FORM, имеющий прокручиваемую часть переменного размера и фиксированный нижний колонтитул.
Я также внимательно посмотрел на https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox, но безуспешно.
Я попробовал гибкий подход для классов header, variable_scrollable_content и footer, но безуспешно. Я также пытался поместить объект формы в класс flex, но это не работает.
Поскольку я не могу отделить кнопки отправки / сброса FORM от полей, которыми они управляют, я не знаю, как решитьверхний колонтитул this.
- должен придерживаться верхней части окон браузера * нижний колонтитул 1039 *
- (содержащий кнопки управления формой) должен в худшем случае придерживаться нижней части окна браузера или придерживаться в конце последних полейесли окна браузера достаточно велики.
- поля должны быть в контейнере переменного размера, который использует все оставшееся пространство между верхним и нижним колонтитулами и имеет overflow-y: scroll;поэтому он может прокручивать, если не может отобразить весь его контент.
Если приведенного выше упрощенного кода недостаточно, «настоящий» код можно найти здесь: https://github.com/finley/SystemImager/blob/initrd-from-imageserver-and-dont-package-initrd/webgui/edit_config.phpполный css здесь: https://github.com/finley/SystemImager/blob/initrd-from-imageserver-and-dont-package-initrd/webgui/css/screen.css
Подобные вопросы
Я проверил следующие подобные вопросы, и я считаю, что мой вопрос отличается, так как основная проблема заключается в том, что объект FORM мешает макету:
Оригинальный вопрос был здесь: переменная высота div между верхним и нижним колонтитулами