Oii
Analisei seu código e fiz alguns testes. Vi que você tinha tentando utilizar a altura de 100vh no elemento que engloba todos os outros da página (que no caso é o próprio body) e acredito que seja a melhor solução. Entretanto, além disso precisamos fazer alguns outros ajustes não só no body, como no rodapé também.
Utilizar as positions fixed
, absolute
e relative
pode ser um pouco frustrante mesmo, portanto vamos eliminar esses elementos do CSS do rodapé
. Eliminamos também a propriedade bottom
relativa à posição:
.rodape{
/* position: fixed; */
/* bottom: 0; */
width: 100%;
height: 40px;
border: 1px solid var(--cor-primaria);
background-color: var(--cor-BordaTextarea);
border-radius: 24px;
font-family: var(--fonte-primaria);
color: var(--cor-retangulo);
font-weight: 700;
text-align: center;
}
Em seguida, fazemos algumas alterações no body adicionando os seguintes elementos:
body{
/* height: 100%; */
height: 100vh; /* altura alterada para o padrão viewport-height */
margin: 0; /* retirada da margem padrão dos navegadores */
display: flex; /* definição do display flex para a utilização da altura da página por completo */
flex-direction: column; /* direção da página em coluna para que o header, main e rodapé fiquem um abaixo do outro */
justify-content: space-between; /* adicionando espaço automático entre os elementos header, main e rodapé para que o body ocupe a altura inteira da página */
overflow: hidden; /* escondendo as barras de scroll, pois a barra de scroll inferior ativa a barra lateral */
}
Imagino também que vocês esteja utilizando a funcionalidade de inspecionar para ver a página em diferentes definições. Entretanto, o modo responsividade nem sempre é confiável e as vezes é melhor testar utilizando o próprio zoom do navegador, afinal é como o usuário final utilizará a sua página.
Deixo abaixo a diferença apresentada da mesma resolução, porém uma no navegador e a outra no modo responsividade do DevTools.
Navegador:
DevTools:
Um abraço e bons estudos.