Причина, по которой ваш нижний колонтитул не отображается, состоит в том, что он имеет более низкий z-индекс, чем в других разделах.Однако, если вы дадите классу .footer
более высокий z-индекс, чем в других разделах, он всегда будет отображаться внизу, потому что он имеет стиль position: fixed
.
Одним из возможных решений было бы дать нижнему колонтитулу тот же z-индекс, что и для других разделов, изменить его положение на relative
и включить его в класс .container
.
Это будет выглядеть так:
html,
body,
* {
padding: 0;
margin: 0;
}
html,
body {
width: 100%;
height: 100%;
}
.container {
height: 100%;
margin-top: 300px;
margin-bottom: 300px;
}
.header {
height: 100vh;
background: tomato;
position: fixed;
width: 100%;
z-index: 1;
top: 0;
}
.section1,
.section2,
.section3,
.footer {
height: 100vh;
z-index: 10;
position: relative;
}
.section1 {
background: orange;
}
.section2 {
background: purple;
}
.section3 {
background: red;
}
.footer {
height: 10vh;
position: relative;
bottom: 0;
width: 100%;
background: aquamarine;
}
<div class="container">
<div class="header">
header
</div>
<div class="section1">
section 1
</div>
<div class="section2">
section 2
</div>
<div class="section3">
section 3
</div>
<div class="footer">
footer
</div>
</div>
JS Bin