jquery - 仅使用 jquery 使用粘性页脚(子页脚和主页脚底部)

标签 jquery css

实际上,我有两个带有动态内容的页脚。这就是我使用 jquery 使子页脚和主页脚保持粘性的原因。 现在页脚粘性正在工作,但在窗口调整大小时,主页脚的高度增加。请看脚本。我想,我对脚本有疑问。我在代码底部添加了脚本。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="../../../../favicon.ico">

    <title>Sticky Footer Navbar Template for Bootstrap</title>

    <!-- Bootstrap core CSS -->
    <link href="http://getbootstrap.com/dist/css/bootstrap.min.css" rel="stylesheet">

    <!-- Custom styles for this template -->
    <link href="sticky-footer-navbar.css" rel="stylesheet">

    <style>
        html {
  position: relative;
  height: 100%;

}
body {
  /* Margin bottom by footer height */
}
.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  /* Set the fixed height of the footer here */
  background-color:#000;
  text-align:center;
  color:#fff;
}


.footer-bottom{
padding:3px 0;
position:absolute; 
bottom:0; 
background-color:green; 
text-align:center; 
width:100%;
}
    </style>
  </head>

  <body class="page-body">

    <!-- Fixed navbar -->
    <!-- Fixed navbar -->
    <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
      <a class="navbar-brand" href="#">Fixed navbar</a>
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>
      <div class="collapse navbar-collapse" id="navbarCollapse">
        <ul class="navbar-nav mr-auto">
          <li class="nav-item active">
            <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
          </li>
          <li class="nav-item">
            <a class="nav-link disabled" href="#">Disabled</a>
          </li>
        </ul>
        <form class="form-inline mt-2 mt-md-0">
          <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
          <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
        </form>
      </div>
    </nav>

    <!--[ container ] -->
  <div class="container">
    content here
  </div>

  <!--[ footer ] -->
  <div class="footer">
      <p>Place sticky footer content here.</p>
  </div>

<div class="footer-bottom">
      <p>footer Bottom</p>
  </div>
  <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
  <script src="http://getbootstrap.com/dist/js/bootstrap.min.js"></script>

  <script>
      function sizing(){
      var completeFooter = $(".footer").height() + $(".footer-bottom").height();
$(".footer").css("height", completeFooter);
$(".page-body").css("margin-bottom", completeFooter);
}
$(document).ready(sizing);
$(window).resize(sizing);
  </script>

  </body>
</html>

最佳答案

根据评论编辑:

  • 完全删除 JS 并将以下 CSS 属性添加到您的动态页脚:

bottom: 46px; --> 你的静态页脚高度

Resizable working Fiddle

下面的片段:

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

body {
  /* Margin bottom by footer height */
}

.footer {
  position: absolute;
  bottom:46px;
  width: 100%;
  /* Set the fixed height of the footer here */
  background-color: #000;
  text-align: center;
  color: #fff;
}

.footer-bottom {
  padding: 3px 0;
  position: absolute;
  bottom: 0;
  background-color: green;
  text-align: center;
  width: 100%;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
<body class="page-body">
  <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
    <a class="navbar-brand" href="#">Fixed navbar</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarCollapse">
      <ul class="navbar-nav mr-auto">
        <li class="nav-item active">
          <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled" href="#">Disabled</a>
        </li>
      </ul>
      <form class="form-inline mt-2 mt-md-0">
        <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
        <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
      </form>
    </div>
  </nav>
  <!--[ container ] -->
  <div class="container">
    content here
  </div>
  <!--[ footer ] -->
  <div class="footer">
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iste neque deserunt alias, hic incidunt sequi reiciendis, quis nobis accusantium, quod iure, ipsum soluta architecto maxime quas veritatis sint animi repellat!</p>
  </div>
  <div class="footer-bottom">
    <p>footer Bottom</p>
  </div>

关于jquery - 仅使用 jquery 使用粘性页脚(子页脚和主页脚底部),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46437605/

相关文章:

html - 透明背景颜色,但在 IE 6 和 7 中不透明文本

javascript - HTML 导航栏在页面加载时消失

html - 我正在尝试在 bulma css 上使用汉堡菜单,但它不起作用。怎么了?

javascript - 使用 jquery 定位类的所有实例的第一个子级

jquery - jQuery 中的两个斜杠是什么意思

javascript - 将 Javascript 变量发送到 .css({transform : translate (var, var)})

javascript - Transition 与 Textarea 的 resize 冲突

javascript - 使用 Javascript 的单数 VS 复数?

css - 如何在 Web 组件 shadow-dom 中设置根字体大小?

jquery - 安卓风格 "curtain"