нижний колонтитул не складывается внизу страницы - PullRequest
0 голосов
/ 13 июля 2020

В этом коде я пытаюсь сделать нижний колонтитул под списком чая на красном фоне, но не могу. Даже когда я устанавливаю position на absolute и bottom на 0px, он попадает в конец страницы не под всем. Я не понимаю, откуда взялась проблема: в списке или в теле элемента стиля. Я пробовал много изменений, но ничего не работает

<!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 {

    height: 100vh;
    margin: auto;
    
}
.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;
margin-top: -100px;
clear: both;
display: block;
bottom: 0px;

}
</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>

Ответы [ 2 ]

1 голос
/ 14 июля 2020

Вы близко! Замените содержимое ваших 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>
0 голосов
/ 14 июля 2020

попробуйте это:

{
position : fixed; bottom : 0; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...