Reputation: 25
I am designing my first website from scratch, and I am trying to learn everything all at once. I have figured most of it out, however, there are a couple things that I can not figure out whatsoever. My question is this, how would I make my footer stick to the bottom of the page when resizing it smaller? I am working in bootstrap, and when I resize the page to small and medium, the footer gets pushed up, and away from where it should be. What am I doing wrong?
Here is my HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title> Delightful Days Daycare</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://use.fontawesome.com/b1366dc4f6.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
<!-- Header -->
</head>
<body>
<div class="container-fluid background-box">
<div class="container background-box ">
<div class="row">
<div class="box-1 col-sm-12 col-md-6 col-lg-4"><h2><button class="button button1"><a class="box-text" href="about-us.html">ABOUT US</button></a></h2><img src="img/info.png" class="about-img">Learn more about Mrs. Chris and Delightful Days </div>
<div class="box-2 col-sm-12 col-md-6 col-lg-4"><h2><button class="button button2"><a class="box-text" href="photos.html">PHOTOS</a></button></h3><img src="img/photos.png" class="photos-img">View our photo gallery</div>
<div class="box-3 col-sm-12 col-md-6 col-lg-4"><h2><button class="button button3"><a class="box-text" href="calendar.html">CALENDAR</a></button></h3><img src="img/calendar.png" class="cal-img">Stay up to date with our official calendar to view holidays and closed days</div>
</div>
<div class="row">
<div class="box-4 col-sm-4 col-md-6 col-lg-4"><h2><button class="button button4"><a class="box-text" href="contact-us.html">CONTACT US</a></button></h3>
<img src="img/phone.png" class="phone-img">Need to get in touch? View our contact page for more information </div>
<div class="box-5 col-sm-4 col-md-6 col-lg-4"><h2><button class="button button5"><a class="box-text" href="openings.html">OPENINGS</a></h2></button>
<img src="img/open.png" class="open-img">View available openings </div>
<div class="box-6 col-sm-4 col-md-6 col-lg-4"><h2><button class="button button6"><a class="box-text" href="pricing.html">PRICING</a></button></h3>
<img src="img/money.png" class="pricing-img">View our pricing page for more information</div>
</div>
</div>
</div>
<!-- Footer -->
<div class="navbar navbar-default navbar-static-bottom">
<div class="container-fluid footer">
<div class="row">
<div class="footer-1">
<div class="col-sm-4 col-md-4 col-lg-4"></div>
<div class="col-sm-4 col-md-4 col-lg-4">
<a href="https://facebook.com"><i class="fa fa-facebook fa-4x" aria-hidden="true"></a></i>
<a href="https://yelp.com"><i class="fa fa-yelp fa-4x" aria-hidden="true"></a></i>
</div>
<div class="col-sm-4 col-md-4 col-lg-4"></div>
</div>
<div class="copyright">
© 2016 DELIGHTFUL DAYS DAYCARE. ALL RIGHTS RESERVED
</div>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
</body>
</html>
And my CSS:
html,body {
color: #8c8c8c;
font-family: "source sans pro";
font-style: normal;
height: 100%;
}
.background-box{
background-color: #4c4c4c;
height: 1000.5px;
color: white !important;
font-size: 20px;
text-align: center;
position: auto;
display: block;
margin: auto;
}
.box-1{
background-color: #FF3D7F;
width: 330px;
height: 394px;
border-radius: 9px;
/*margin-left: 181px;*/
margin-top: 50px;
margin: 2%;
}
.button{
color: white;
border:none;
color: white;
border-radius: 100px;
height: 48px;
width: 178px
}
.button1{
background-color: #DB1759;
text-align: center;
}
.button2{
background-color: #C4C172;
}
.button3{
background-color: #58A58B;
}
.button4{
background-color: #B58C43;
}
.button5{
background-color: #26978F;
}
.button6{
background-color: #FF6362
}
.box-2{
background-color: #DAD8A7;
width: 330px;
height: 394px;
border-radius: 9px;
/*margin-left: 44px;*/
margin-top: 50px;
margin: 2%;
}
.box-3{
background-color: #7FC7AF;
width: 330px;
height: 394px;
border-radius: 9px;
/*margin-left: 44px;*/
margin-top: 50px;
margin: 2%;
}
.box-4{
background-color: #D7B066;
width: 330px;
height: 394px;
border-radius: 9px;
/*margin-left: 181px;*/
margin-top: 46px;
margin: 2%;
}
.box-5{
background-color: #3FB8AF;
width: 330px;
height: 394px;
border-radius: 9px;
/*margin-left: 44px;*/
margin-top: 46px;
margin: 2%;
}
.box-6{
background-color: #FF9E9D;
width: 330px;
height: 394px;
border-radius: 9px;
/*margin-left: 44px;*/
margin-top: 46px;
margin: 2%;
}
.box-text{
color: white;
font-family: "Source Sans Pro";
font-weight: 600;
font-style: normal;
font-size: 26px;
}
/*--------Box images------*/
.about-img{
padding-right: 102px;
padding-left: 100px;
padding-bottom: 38px;
position: relative;
padding-top: 43px;
text-align: center;
}
.photos-img{
padding-right: 112px;
padding-left: 112px;
padding-top: 66px;
padding-bottom: 62px;
}
.cal-img{
padding-right: 108px;
padding-left: 109px;
padding-top: 40px;
padding-bottom: 36px;
}
.phone-img{
padding-right: 109px;
padding-left: 109px;
padding-top: 60px;
padding-bottom: 41px;
}
.open-img{
padding-right: 107px;
padding-left: 108px;
padding-top: 59px;
padding-bottom: 63px;
}
.pricing-img{
padding-right: 108px;
padding-left: 109px;
padding-top: 145px;
padding-bottom: 136px;
}
.footer{
position: relative;
height: 150px;
margin-top:;
}
.footer-1{
height: 125px;
padding-top: 36px;
background: #FF9E9D;
display: flex;
text-align: center;
}
.copyright{
background-color: #4c4c4c;
height: auto;
color: white;
text-align: center;
font-family: "source sans pro light";
padding-top: 36px;
padding-bottom: 33px;
}
.fa{
color: white;
margin-left: 40px;
margin-right: 40px;
}
div.navbar.navbar-default.navbar-static-bottom{
margin: 0;
}
Upvotes: 2
Views: 9625
Reputation: 1315
You should be able to achieve a footer that sticks to the bottom of your page at all times by using something like this template in your HTML:
<!DOCTYPE html>
<head>
<title></title>
</head>
<body>
<footer></footer>
</body>
</html>
And this in your CSS:
html {
position: relative;
min-height: 100%;
}
body {
margin: 0 0 100px; /* bottom = footer height */
}
footer {
position: absolute;
left: 0;
bottom: 0;
height: 100px;
width: 100%;
}
It should work without all of the additional Bootstrap classes like "navbar navbar-default navbar-static-bottom navbar-fixed-bottom".
Upvotes: 3
Reputation: 126
Try to wrap your code like this:
HTML code:
<body>
<div class="page-wrap">
.
.
.
</div>
<footer class="page-footer">
.
.
.
</footer>
</body>
CSS code:
* {
margin: 0;
}
html, body {
height: 100%;
}
.page-wrap {
min-height: 100%;
margin-bottom: -20px; /* Height of the footer */
}
.page-wrap:after {
content: "";
display: block;
}
.page-footer, .page-wrap:after {
height: 20px;
}
.page-footer {
background: orange;
}
This way your footer has a fixed height, and it only shows when you arrive at the end of the page.
Upvotes: 0
Reputation: 119017
You need to use the navbar-fixed-bottom
class:
<div class="navbar navbar-default navbar-static-bottom navbar-fixed-bottom">
...
</div>
Upvotes: 3