Boostrap 4粘性页脚高度问题

时间:2020-01-17 13:06:43

标签: html bootstrap-4

我正在尝试构建一个网站(使用引导程序4),该网站的页脚包含3列。当浏览器足够大(例如在PC上打开)时,它看起来绝对不错,但是如果浏览器处于压缩状态(例如手机),那么您只会看到页脚的一部分。

请问我在做什么错?我已经搜查了几个小时,阅读了许多其他有关Stack Overflow的文章,并尝试了一下,却一无所获。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>Website</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>

<style>

html {
    position: relative;
    min-height: 100%;
}

body {
    margin: 0 0 200px; /* bottom has to be the same as footer height */
}

.context-dark, .bg-gray-dark, .bg-primary
{
    color: rgba(255, 255, 255, 0.8);
}

.footer-classic
{
    padding-top: 10px;
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 200px;
}

.copyright-container
{
    padding: 10x;
}
</style>

<body>
    <!-- Navigation -->
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark static-top">
      <div class="container">
        <a class="navbar-brand" href="#">
              <img src="2.png" alt="">
            </a>
        <button class="navbar-toggler" type="button" data-toggle="collapse"
                data-target="#navbarResponsive" aria-controls="navbarResponsive"
                aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarResponsive">
          <ul class="navbar-nav ml-auto">
            <li class="nav-item">
              <a class="nav-link" href="#">Log in</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Sign up</a>
            </li>
          </ul>
        </div>
      </div>
    </nav>

    <div class="container"><p>Page Content</p></div>

    <footer class="section footer-classic context-dark bg-image" style="background: #000000;">
      <div class="container">
        <div class="row row-30">
          <div class="col-md-4 col-xl-5">
            <div class="pr-xl-4">

              <hr>
              <div class="text-center center-block">
                  <p>You can follow us on:</p>
                  <a href="https://www.facebook.com/bootsnipp"><i id="social-fb" class="fa fa-facebook-square fa-3x social"></i></a>
                  <a href="https://twitter.com/bootsnipp"><i id="social-tw" class="fa fa-twitter-square fa-3x social"></i></a>
                  <a href="mailto:bootsnipp@gmail.com"><i id="social-em" class="fa fa-envelope-square fa-3x social"></i></a>
              </div>
              <hr>

            </div>
          </div>
          <div class="col-md-4 col-xl-3 footer-list">
            <h5>Site</h5>
            <ul class="nav-list">
              <li><a href="#">About</a></li>
              <li><a href="#">Help</a></li>
              <li><a href="#">Accessibility</a></li>
            </ul>
          </div>
          <div class="col-md-4 col-xl-3 footer-list">
            <h5>Legal</h5>
            <ul class="nav-list">
              <li><a href="#">Terms of Service</a></li>
              <li><a href="#">Privacy Policy</a></li>
              <li><a href="#">Cookie Policy</a></li>
            </ul>
          </div>
        </div>
      </div>

      <div class="row copyright-container">
          <p class="rights">
              <span>©  </span><span class="copyright-year">2020</span><span> </span><span>PERSON</span><span>. </span><span>All Rights Reserved.</span></p>
      </div>
    </footer>

</body>

</html>

2 个答案:

答案 0 :(得分:1)

我认为主要问题可能是结构不正确(HTML和相应的Bootstrap类)。如果您要使用Bootstrap的网格系统,那么follow the structure that they recommend就是一个好主意,以便拥有一个完全响应的网站。

首先遵循它们的约定和结构可能会有些棘手,但是一旦完成这些动作,它应该可以正常工作。请注意,具体的样式和布局确实需要进行一些研究。

以下示例的灵感来自其project examples page。我根据您有关页脚响应性的问题改编了代码。为了简单起见,我删除了顶部导航栏:

<!doctype html>
<html lang="en">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <title>Sticky Footer inspired by Bootstrap Examples</title>
  <!-- Bootstrap 4 CDN as of 01/17/2020 -->
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
  <!-- Fontawesome 4.7 -->
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
  <style>
  html,
  body {
    height: 100%;
  }

  .fa {
    color: white;
  }
  </style>
</head>

<body class="d-flex flex-column">
  <!-- Main page content -->
  <main class="flex-shrink-0">
    <div class="container">
      <h1 class="mt-5">Main container</h1>
    </div>
  </main>
  <!-- Respoonsive footer using Bootstrap's grid layout -->
  <footer class="footer mt-auto py-3 bg-dark">
    <div class="container">
      <div class="row">
        <div class="col align-self-center">
          <i class="fa fa-twitter-square fa-4x" aria-hidden="true"></i>
          <i class="fa fa-facebook-square fa-4x" aria-hidden="true"></i>
          <i class="fa fa-envelope-square fa-4x" aria-hidden="true"></i>
        </div>
        <div class="col">
          <h5>Site</h5>
          <ul class="list-unstyled text-small">
            <li><a class="text-muted" href="#">About</a></li>
            <li><a class="text-muted" href="#">Help</a></li>
            <li><a class="text-muted" href="#">Accessibility</a></li>
          </ul>
        </div>
        <div class="col">
          <h5>Legal</h5>
          <ul class="list-unstyled text-small">
            <li><a class="text-muted" href="#">Terms of Service</a></li>
            <li><a class="text-muted" href="#">Privacy Policy</a></li>
            <li><a class="text-muted" href="#">Cookie Policy</a></li>
          </ul>
        </div>
      </div>
    </div>
  </footer>
</body>

</html>

Working example here

答案 1 :(得分:0)

我已经编辑了您的CSS和HTML

html,body, .wrapper {
    position: relative;
    height: 100%;
}


.context-dark, .bg-gray-dark, .bg-primary
{
    color: rgba(255, 255, 255, 0.8);
}

.footer-classic
{
    padding-top: 10px;
}

.copyright-container
{
    padding: 10x;
}

https://jsfiddle.net/lalji1051/r5aqxetv/7/