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

HTML How to Make a Website Responsive Web Design and Testing Adjust the Profile Page and Header

nico dev
nico dev
20,364 Points

Profile picture's margin to the text not respected when resizing screen and floating image to the left.

Hello everyone,

After watching this video, I've been shocked since I think I've followed through quite close all along, but when I float the profile picture to the left, for some reason the margin to the right (should be 5%) doesn't work. If you check the preview of the snapshot I linked here, you'll notice how the text is together with the image.

I'm sure I could create a class, assign it to this h3 and p and that should be it, but what makes me curious is why the teacher can do it perfectly and me not? There has to be something wrong on mine, but I've spent days searching and can't spot it.

http://w.trhou.se/369vsnq1n5

Please help! Thanks!

nico dev
nico dev
20,364 Points

Not sure if the snapshot works?

Just in case it doesn't, these are the relevant files:

The about.html:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Nick | Designer</title>
    <link rel="stylesheet" href="css/normalize.css">
    <link href="https://fonts.googleapis.com/css?family=Chango|Yatra+One" rel="stylesheet">
    <link rel="stylesheet" href="css/styling.css">
    <link rel="stylesheet" href="css/responsive.css">
  </head>
  <body>
    <header>
      <a href="index.html" id="logo">
        <h1>Nick</h1>
        <h2>Designer</h2>
      </a>
      <nav>
        <ul>
          <li><a href="index.html">Portfolio</a></li>
          <li><a href="about.html" class="selected">About</a></li>
          <li><a href="contact.html">Contact</a></li>
        </ul>
      </nav>
    </header>
    <div id="wrapper">
      <section>
        <img src="img/nick.jpg" alt="Nick's picture" class="profile-photo">
        <h3>About</h3>
        <p>Hi, I'm Nick Pettit! This is my design portfolio where I share all of my favorite work. When I'm not designing things, I enjoy exercising, playing video games, drinking good coffee, and more.</p>
        <p>If you'd like to follow me on Twitter, my username is <a href="http://twitter.com/nickrp">@nickrp</a>.</p>
      </section>
      <footer>
        <a href="http://twitter.com/nickrp"><img src="img/twitter-wrap.png" alt="Twitter Logo" class="social-icon"></a>
        <a href="http://facebook.com/nickpettit"><img src="img/facebook-wrap.png" alt="Facebook Logo" class="social-icon"></a>
        <p>&copy; 2014 Nick.</p>
      </footer>
    </div>
  </body>
</html>

The main.css (in my case, "styling.css"):

/************
GENERAL
************/

body {
  font-family: 'Open Sans', sans-serif;

}

#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: 'Changa One', sans-serif;
  margin: 15px 0;
  font-size: 1.75em;
  font-weight: normal;
  line-height: 0.8em;
}

h2 {
  font-size: 0.75em;
  margin: -5px 0 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;
  clear: both;
  padding-top: 50px;
  color: #555;
}

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



/************
PAGE: 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: 5%;
  font-size: 0.75em;
  color: #bdc3c7;
}



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

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



/************
PAGE: 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.twitter a {
  background-image: url('../img/twitter.png')
}



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

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

/* green header */
header {
  background: #6ab47b;
  border-color: #599a68;
}

/* nav background on mobile */
nav {
  background: #599a68;
}

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

/* links */
a {
  color: #6ab47b;
}

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

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

And finally, the 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(3n + 1) {
    clear: left;
  }


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

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



}

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

  ***********
  HEADER
  ***********

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

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

}

Thanks in advance for any and all help and insight you can provide! Nico

2 Answers

Hi Nico, Thanks for posting a snapshot of your workspace, that really helps. I see you're missing a colon on line 38 in responsive.css, should be

margin: 0 5% 80px 0;

Good luck with the rest of your project!

nico dev
nico dev
20,364 Points

It's obvious that I did need another pair of (expert) eyes on this, because I was fooling mine! :)

I really, really can't thank you enough, Kate Rogers. Spot on!