Так что у меня есть веб-страница с верхним и нижним колонтитулами.
Я хочу, чтобы основная часть заполнила 100% страницы (заполняет 100% между нижним колонтитулом и верхним колонтитулом)
Мой нижний колонтитул находится в абсолютном положении с нижним: 0. Каждый раз, когда я пытаюсь установить основной корпус на 100% высоты или изменить положение или что-то еще, это также будет переполнять заголовок. Если установить тело в абсолютное положение с помощью top: 40 (поскольку мой заголовок имеет высоту 40px), он просто уйдет на 40px слишком далеко вниз, создав полосу прокрутки.
Я создал простой HTML файл, так как я не могу опубликовать всю страницу /CSS из фактического проекта. В примере кода, несмотря на то, что основное содержимое заполняет экран, оно уходит на 40 пикселей ниже (я полагаю, из-за заголовка).
html,
body {
  margin: 0;
  padding: 0;
}
header {
  height: 40px;
  width: 100%;
  background-color: blue;
}
#maincontent {
  background-color: green;
  height: 100%;
  width: 100%;
}
footer {
  height: 40px;
  width: 100%;
  background-color: grey;
  position: absolute;
  bottom: 0;
}<html>
<head>
  <title>test</title>
  <link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
  <header></header>
  <div id="maincontent">
  </div>
  <footer></footer>
</body>
</html>