Нижний колонтитул появляется в середине экрана - PullRequest
0 голосов
/ 24 февраля 2019

Я знаю, что есть дубликаты подобных вопросов, но я просто не могу заставить свой нижний колонтитул оставаться внизу, и я попробовал несколько предложенных исправлений.Пожалуйста, покажите мне, как переместить нижний колонтитул в конец страницы.Это как-то связано с телом?Кто бы ни отправил решение, вы могли бы сказать, что это было неправильно?

<head>
<meta charset="utf-8">
<title>CopperMug</title>
<link href="Coppermug Stylesheet.css" rel="stylesheet" type="text/css">
</head>

   <div class="navbar" id="navbarSupportedContent">
<ul class="navbar-nav">
<li class="nav-item active">
  <a class="nav-link" href="#">Home</a>
</li>
<li class="nav-item">
  <a class="nav-link" href="#">Services</a>
</li>
          <li class="nav-item">
            <a class="nav-link" href="#">About Us</a>
          </li>
<li class="nav-item">
  <a class="nav-link" href="#">Contact</a>
</li>
   </div>
<body id="body">
       <div>
           <img src="../Final Logo Assets/Coppermug banner no background 2-min.png" class="img" id="logo"> 
       </div>
</body>
    <footer>
        <a class="service-link" href="#">Privacy Policy</a>
        <a class="service-link" href="#">Terms of Service</a>
          </footer>
</html>

    @charset "utf-8";
/* CSS Document */

html {
    background-image: url("../Final Logo Assets/Blur Mug-min Opacity-min.jpg");
    background-repeat: no-repeat;
  background-size: cover;
}   
#body {

}
#header, 
li .nav-link {
    font-family: "Copperplate Gothic";
    color: #000000
}
#logo {  display: block;
  margin-left: 26%;
  margin-right: auto;
  margin-top: 12%;
  width: 50%;}

#navbarSupportedContent {
    color: black;
    font-family: "Copperplate Gothic";
    font-size: .99em;
    padding: 1em;
}

#navbarSupportedContent li {
    list-style-type: none;
    display: inline-block;
}
div #navbarSupportedContent {
    width: 100%;
}
.navbar {
    text-align: center;
    position: relative;
    font-size: 150%;
    margin-left: 3%;
}
.navbar-nav {
    text-align: center;
    position: relative;
    font-size: 150%;
}

footer .service-link {
    color: #000000;
}

footer {
    text-align: center;
        clear: both;
    position: relative;
    height: 40px;
    margin-top: -40px;
}

Ответы [ 2 ]

0 голосов
/ 24 февраля 2019

В настоящее время у вас есть элемент нижнего колонтитула, который существует как еще один простой элемент в потоке страницы (к вашему сведению, у вас есть избыточный position:relative на нем), так что он заканчивается там, где заканчивается содержимое над ним (т.е.ваше изображение).

Если вы хотите, чтобы нижний колонтитул захлопнулся в нижней части области просмотра, которая всегда остается видимой независимо от длины содержимого или положения прокрутки, то вы должны использовать position: fixed в нижнем колонтитуле, как показывает ответ Кродева.,Однако это занимает реальное пространство экрана и используется намеренно и по уважительной причине (например, какая-то панель действий во время некоторого неоправданного взаимодействия с пользователем).

Однако, для обычных страниц, когда у вас короткий контент и вы хотитенижний колонтитул, отображаемый в нижней части окна просмотра, лучше всего использовать гибкий макет, как показано ниже (который также предлагает все виды преимуществ):

Codepen

body {
  height: 100vh;
  margin: 0;
}

#container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

#header {
  background-color: red;
  min-height: 100px;
}

#content {
  flex: 1;
  background-color: green;
  
  /* to test a longer page */
  /* min-height: 3000px; */
}

#footer {
  background-color: blue;
  min-height: 100px;
}

.section {
  padding: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
}
<div id="container">
  <div id="header" class="section">
    header
  </div>
  
  <div id="content" class="section">
    content
  </div>
  
  <div id="footer" class="section">
    footer
  </div>
</div>
0 голосов
/ 24 февраля 2019

HTML:

<div class="footer">
   <p>Footer</p>
</div>

CSS:

.footer {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: transparent;
  color: white;
  text-align: center;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...