HTML的footer置于页面最底部的方法

方法一:footer高度固定+绝对定位

<html>
  <head>
    <style type="text/css">
        html{height:100%;}
        body{min-height:100%;margin:0;padding:0;position:relative;}

        .header{background-color: #ffe4c4;}
        .main{padding-bottom:100px;background-color: #bdb76b;}/* main的padding-bottom值要等于或大于footer的height值 */
        .footer{position:absolute;bottom:0;width:100%;height:100px;background-color: #ffc0cb;}
    </style>
  </head>


  <body>
    <div class="header">header</div>
    <div class="main">main content</div>
    <div class="footer">footer</div>
  </body>
</html>

效果:

 

 

方法二:footer高度固定+margin负值

<html>
  <head>
    <style type="text/css">
      html,body{height:100%;margin:0;padding:0;}

      .container{min-height:100%;}
      .header{background-color: #ffe4c4;}
      .main{padding-bottom:100px;background-color: #bdb76b;}/* main的padding-bottom值要等于或大于footer的height值 */
      .footer{height:100px;margin-top:-100px;background-color: #ffc0cb;}/* margin-top(负值的)高度等于footer的height值 */
    </style>
  </head>


  <body>
    <div class="container">
        <div class="header">header</div>
        <div class="main">main content</div>
    </div>
    <div class="footer">footer</div>
</html>

 

方法三:footer高度任意+js

<html>
  <head>
    <style type="text/css">
      html,body{margin:0;padding: 0;}
      .header{background-color: #ffe4c4;}
      .main{background-color: #bdb76b;}
      .footer{background-color: #ffc0cb;}

      /* 动态为footer添加类fixed-bottom */
      .fixed-bottom {position: fixed;bottom: 0;width:100%;}
    </style>

    <script src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></script>
    <script type="text/javascript">
      $(function(){
          function footerPosition(){
              $("footer").removeClass("fixed-bottom");
              var contentHeight = document.body.scrollHeight,//网页正文全文高度
                  winHeight = window.innerHeight;//可视窗口高度,不包括浏览器顶部工具栏
              if(!(contentHeight > winHeight)){
                  //当网页正文高度小于可视窗口高度时,为footer添加类fixed-bottom
                  $("footer").addClass("fixed-bottom");
              } else {
                  $("footer").removeClass("fixed-bottom");
              }
          }
          footerPosition();
          $(window).resize(footerPosition);
      });
    </script>
  </head>


  <body>
    <div class="header">header</div>
    <div class="main">main content</div>
    <div class="footer">footer</div>
  </body>
</html>

 

 

ref: https://segmentfault.com/a/1190000004453249

posted @ 2017-02-09 18:40  圆旭  阅读(...)  评论(...编辑  收藏