Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

CSS How to Make a Website Responsive Web Design and Testing Website Testing

Edward Ennis
Edward Ennis
1,562 Points

Footer is not staying at bottom of the page. It only stays at the bottom when i minimize the browser. Can anybody help??

Hi there,

My footer seems to be merging with my images on my portfolio page and it on the contact page and about page it floats in the middle. I have attached the code for my main.css page below.

If you need any more info please ask and I will reply back asap.

Can anyone please help? Cheers Eddie

main.css
/**************************
GENERAL
***************************/

body {
  font-family: 'Fredoka One', cursive;
}

#wrapper {
  max-width: 940px;
  margin: 0 auto;
  padding: 0 5%;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
}

h3 {
  margin: 0 0 1em 0;
}

/**************************
HEADING
***************************/

header {
  float: left;
  margin: 0 0 30px 0;
  padding: 5px 0 0 0;
  width: 100%;
}

#logo {
  text-align: center;
  margin: 0;
}

h1 {
  font-family: 'Fredoka One', cursive;
  margin: 15px 0;
  font-size: 5em;
  font-weight: normal;
  line-height: 0.8em;
}

h2 {
  font-family: 'sans-serif', sans-serif;
  font-size: 2.00em;
  margin: -5px 2 0;
  font-weight:normal;  
}


/**************************
NAVIGATION
***************************/

nav {
  text-align: center;
  padding: 10px 0;
  margin: 20px 0 0;
}

nav ul {
  list-style: none;
  margin: 0 10px;
  padding: 0;
}

nav li {
  display: inline-block;
}

nav a {
  font-weight: 800;
  padding: 15px 10px;
}



/**************************
FOOTER
***************************/

.footer {
  font-size:0.75em;
  text-align: center;
  color: #888;
}

.social-icon {
  width: 30px;
  height: 30px;
  margin: 0 10px;
}



/**************************
PORTFOLIO
***************************/

#gallery {
  margin: 0;
  padding: 0;
  list-style: none;
}

#gallery li {
  float: left;
  width: 45%;
  margin: 2.5%;
  background-color: #f5f5f5;
  color: #bdc3c7;
}

#gallery li a p {
  margin: 0;
  padding: 1%;
  font-size: 1em;
  color: #a87e97;
}



/**************************
PAGE: About
***************************/

.profile-photo {
  display: block;
  max-width: 300px;
  margin: 0 auto 30px;
  border-radius: 100%;
}




/**************************
CONTACT
***************************/

.contact-info {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.9em;
}

.contact-info a {
  display: block;
  min-height: 20px;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  padding: 0 0 0 30px;
  margin: 0 0 10px;
}

.contact-info li.phone a {
  background-image: url('../img/phone.png');
}

.contact-info li.mail a {
  background-image: url('../img/mail.png');
}

.contact-info li.facebook a {
  background-image: url('../img/facebook.png')
}




/**************************
COLORS
***************************/


/* nav background on mobile */
nav {
  background: rgba(73, 189, 228, 0.4);
}

/* nav link */
nav a, nav a:visited {
  color: #fff;
}

/* selected nav link */
nav a.selected, nav a:hover {
  color: #356666;
}

/* site body */
body {
  border-color:#999;
}

header {
  background: rgba(73, 189, 228, 0.4);
  border-color: rgba(73, 189, 228, 0.4);
}

/* logo text */
h1, h2 {
  color: #fff;
}

/* site body */
body {
  border-color:#999;
}
responsive.css
@media screen and (min-width: 480px) {

/************************** TWO COLUMN LAYOUT ***************************/

#primary { width: 50%; float: left; }

#secondary { width: 40%; float: right; }

/************************** PAGE: PORTFOLIO ***************************/

#gallery li { width: 28.3333%;
}

#gallery li:nth-child(4n) { clear: left; }

/************************** PAGE: ABOUT ***************************/

.profile-photo { float: left; margin: 0 5% 80px 0; }

}

@media screen and (min-width: 660px) {

/************************** PAGE: ABOUT ***************************/

nav { background: none; float: right; font-size: 1.125em; margin-right: 5%; text-align: right; width: 45%; }

#logo { float: left; margin-left: 5%; text-align: left; width: 45%; }

h1 { font-size: 2.5em; }

h2 { font-size: 0.825em; margin-bottom: 20px; }

header { border-bottom: 5px solid #599a68; margin-bottom: 60px; }

}

Hi Edward,

Combined both posts into one.

Also, I added markdown to help make the code more readable. If you're curious about how to add markdown like this on your own, checkout this thread on posting code to the forum . Also, there is a link at the bottom called Markdown Cheatsheet that gives a brief overview of how to add markdown to your posts.

Cheers!

2 Answers

Hi Edward,

There are two changes that need to be made.

  • footer is a tag and not a class. Change the selector from .footer to just footer.
  • add a clear: both declaration to the footer rule. This is needed because the content is being floated (left or right, depending on the page), so the footer needs to clear these floats for it to appear at the bottom.

After these changes, the footer rule should look like this:

footer {
  font-size:0.75em;
  text-align: center;
  clear: both;
  color: #888;
}

Hope this helps,

Cheers

Edward Ennis
Edward Ennis
1,562 Points

Hi Robert

Thank you for very much for that and also for the link about how to post code onto the forum correctly. Much appreciated.

Edward