Вы близко! Замените содержимое ваших body
и .foot
CSS, чтобы они соответствовали им, и он будет работать:
body {
padding-bottom: 100px;
position: relative;
min-height: 100vh;
}
.foot {
background-color: lawngreen;
position: absolute;
height: 100px;
bottom: 0;
width: 100%;
}
Ключевые изменения, чтобы сделать эту работу:
- Добавьте
position: relative
к body
- чтобы использовать позиционирование absolute
в нижнем колонтитуле, вам нужно указать ему, относительно чего он расположен, установив предка, которого вы хотите, position: relative
. ( ссылка ) - Измените
height: 100vh
на min-height: 100vh
- когда ваш контент переполняет 100% браузера, это сбрасывает макет. Вместо этого используйте min-height
, чтобы гарантировать, что потенциально пустое пространство заполнено в теле, а нижний колонтитул можно сдвинуть в нижнюю часть окна браузера. - Добавить отступ в нижнюю часть
body
- добавьте padding-bottom: 100px
к body
, чтобы учесть нижний колонтитул и убедиться, что нижний колонтитул не покрывает содержимое. Я предполагаю, что это то, что вы пытались сделать, используя margin-top: -100px
на .foot
, поэтому я также удалил это. - Добавьте
width: 100%
к .foot
- по порядку чтобы позиционированный элемент absolute
заполнял весь экран по горизонтали, добавьте это CSS.
Полный фрагмент:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
padding-bottom: 100px;
position: relative;
min-height: 100vh;
}
.dd {
background-color: rgb(209, 15, 15);
width: 65%;
height: fit-content;
margin: 10px;
padding: 10px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
}
.dd > a {
border: solid blue 3px;
position: relative;
width: fit-content;
height: fit-content;
margin: 1px;
padding: 0;
}
.dd img {
border: solid rgb(212, 0, 255) 3px;
position: relative;
display: flex;
width: 100px;
height: 100px;
}
.foot{
background-color: lawngreen;
position: absolute;
height: 100px;
bottom: 0px;
width: 100%;
}
.container {
padding-bottom: 100px;
position: relative;
min-height: 100vh;
}
</style>
</head>
<body>
<div class="dd">
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
<a class="aa" href="page.html" > <img class="ii" src="2.jpg" alt=""></a>
</div>
<footer class="foot" aria-placeholder="hello"> hello</footer>
</body>
</html>