简体   繁体   中英

Make footer stay at bottom of page (not fixed to bottom)

I am trying to make just the pages on my website that have the main body content class of ".interior-health-main" have a footer that is static at the bottom of the page. I want it at the absolute bottom, currently if you view some of my pages on a large screen, you will see a bunch of white space after the footer. I want to get rid of this.

I have been looking into this for hours now and tried many things, at first I was going to make the footer on the entire website static at the bottom of the page, but setting the footer's css to position: absolute conflicted with other elements on my home page, which is why I just want it on the ".interior-health-main." If it is possible to change it just for the footers on these pages please let me know, I do not really want examples of fixing this by setting the entire body to position:relative. It just messes up my homepage.

Here is an example of what it looks like with the white space after the footer http://codepen.io/aahmed2/full/KgWNYL/

<p class="nav">This is a Navigation Bar</p>
<div class="interior-health-main">
    <div class="container">

        <ol class="breadcrumb">
            <li><a href="/index.asp">Home</a></li>
            <li><a href="/health-resources.asp">Health Resources</a></li>
            <li class="active">Sample Short Page</li>
        </ol>
    <h2>Sample Short Page</h2>



    </div>
</div>

<div class="footer">
  <div class="container">
    <div class="row">
      <div class="col-sm-4">
        <h4>Contact Us</h4>
        <p>414 Hardin Hall<br> 3310 Holdredge St<br> Lincoln, NE 68583<br> (402) 472-7363</p>
        <div class="affiliates">
          <a href="http://www.unl.edu/"><img class="wordmark" src="../_logos/wordmark.svg" alt="University of Nebraska-Lincoln Wordmark"></a>
          <a href="http://extension.unl.edu/"><img class="extension" src="../_logos/n-extension-rev.svg" alt="Nebraska Extension Logo"></a>
        </div>
      </div>

      <div class="col-sm-4">
        <h4>Quick Links</h4>
        <p><a href="#">Human Health</a></p>
        <div class="line"></div>
        <p><a href="/resources/pet-diseases.asp">Pet Diseases</a></p>
        <div class="line"></div>
        <p><a href="/resources/livestock-disease.asp">Livestock Diseases</a></p>
        <div class="line"></div>
        <p><a href="/resources/events.asp">Events</a></p>
        <div class="line"></div>
      </div>

      <div class="col-sm-4">
        <h4>Attention</h4>
        <p>All information on this site is intended for informational use only. Contact your doctor or veterinarian for health concerns.</p><br>
        <h5><a class="partner" href="#">Partners &amp Stakeholders</a></h5>

      </div>
    </div>

    <div class="copyright">
      <div class="col-xs-9">
        <h6>© 2016 Nebraska One Health. <a href="/sitemap.asp">Site Map.</a></h6>
      </div>

      <div class="col-xs-3">
        <a href="#"><img class="social  pull-right" src="../_logos/twitter-logo-button.svg" alt="twitter icon"></a>
        <a href="https://www.facebook.com/nebraskaonehealthresources/"><img class="social  pull-right" src="../_logos/facebook-logo-button.svg" alt="facebook icon"></a>
      </div>
    </div>
  </div>
</div>

Here is my css

.nav {
  text-align: center;
  padding: 25px 0;
  background-color: #c1c0be;
  color: #fff;
  position: fixed;
  width: 100%;
  z-index: 2;
}

.interior-health-main {
  padding-top: 80px;
  padding-bottom: 20px;
}

@media (max-width: 479px) {
  .interior-health-main {
    padding-top: 50px;
  }
}

.footer {
  background: #333332;
  border-top: 9px solid #ffffff;
  color: #fff;
  padding-top: 35px;
  padding-bottom: 35px;
}

You can position the footer absolute like they did here

https://getbootstrap.com/examples/sticky-footer/

.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  /* Set the fixed height of the footer here */
  height: 60px;
  /* background-color: #f5f5f5; */
}

<footer class="footer">
    <div class="container">
        <p class="text-muted">Place sticky footer content here.</p>
    </div>
</footer>

How did it conflict when you tried your way? update your post with what you did?

I wrapped your page (not containing footer) into .page-wrap div, and edit you codePen code and just add this piece of code to your css

html, body {
  height: 100%;
}
.page-wrap {
  min-height: 100%;
  /* equal to footer height (with margin and border) */
  margin-bottom: -299px ; 
}
.page-wrap:after {
  content: "";
  display: block;
}
.footer, .page-wrap:after {
  /* page-wrap after content must be the same height as footer */
    height: 299px; 
}

Demo

Please reference this question to find your solution.

I applied one of the solutions from the above link to your code.

Wrap your code in a #holder div.

Add the following CSS:

html,body{
height: 100%
}

#holder{
min-height: 100%;
position:relative;
}

.footer {
background: #333332;
border-top: 9px solid #ffffff;
color: #fff;
padding-top: 35px;
padding-bottom: 35px;
height: 300px; 
width:100%;
position: absolute;
left: 0;
bottom: 0; 
}

.interior-health-main {
padding-top: 80px;
padding-bottom: 300px;    /* height of footer */
}

Here is the working fiddle: https://jsfiddle.net/DTcHh/25475/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM